我正在为Alexa(亚马逊)开发自定义技能,并且我在JAVA 8中编写了lambda AWS服务的技能。我正在尝试从我的ask2decide API获得一个简单的响应,但它无法正常工作。
基本上我正在执行以下代码:
String questiont = "casco"
String queryString =
String.format("https://www.ask2decide.com/api/prod/search.php?s=%s", questiont);
InputStreamReader inputStream = null;
BufferedReader bufferedReader = null;
StringBuilder builder = new StringBuilder();
try {
String line;
URL url = new URL(queryString);
inputStream = new InputStreamReader(url.openStream(), Charset.forName("US-ASCII"));
bufferedReader = new BufferedReader(inputStream);
while ((line = bufferedReader.readLine()) != null) {
builder.append(line);
System.out.println(line);
}
} catch (IOException e) {
// reset builder to a blank string
System.out.print("ERROR:");
System.out.println(e);
} finally {
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(bufferedReader);
}
执行它的结果如下
错误:“javax.net.ssl.SSLHandshakeException:远程主机已关闭 握手期间的连接“
注意:如果我在Chrome中执行URL而没有任何错误,我会获得一个JSON标准数组。
注2:导入:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.*;
import javax.net.ssl.*;
import java.nio.charset.Charset;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.amazon.speech.slu.Intent;
import com.amazon.speech.slu.Slot;
import com.amazon.speech.speechlet.IntentRequest;
import com.amazon.speech.speechlet.LaunchRequest;
import com.amazon.speech.speechlet.Session;
import com.amazon.speech.speechlet.SessionEndedRequest;
import com.amazon.speech.speechlet.SessionStartedRequest;
import com.amazon.speech.speechlet.SpeechletV2;
import com.amazon.speech.speechlet.SpeechletResponse;
import com.amazon.speech.json.SpeechletRequestEnvelope;
import com.amazon.speech.ui.OutputSpeech;
import com.amazon.speech.ui.PlainTextOutputSpeech;
import com.amazon.speech.ui.SsmlOutputSpeech;
import com.amazon.speech.ui.Reprompt;
import com.amazon.speech.ui.SimpleCard;
import com.amazonaws.util.json.JSONArray;
import com.amazonaws.util.json.JSONException;
import com.amazonaws.util.json.JSONObject;
import com.amazonaws.util.json.JSONTokener;