我正在使用java.net.HttpURLConnection
调用GET方法。我面临错误"连接被拒绝"
我正在呼叫http://192.168.1.5:8038/GetStudent
所以想了解我是否需要在客户端操作系统中打开PORT 8038 ? 我感到很困惑,因为默认情况下,HTTP会监听80,哪些是OPEN。
据我所知,在服务器端8038应该是开放的
答案 0 :(得分:1)
您需要确定服务器运行的端口,因为在您的网址中,部分:8083表示您尝试连接到服务器端口8083,而不是80.如果您未指定端口,则默认是80.也许服务器没有在这个端口上运行(8083),或者是否有阻止通信的防火墙?通常不需要在客户端设置传出PORT。当存在未知的用户代理属性时,服务器可以拒绝。尝试设置用户代理属性,如下例所示:
String url = "https://translate.google.pl/translate_a/single?client=t&sl=ro&tl=pl&hl=pl&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=at&ie=UTF-8&oe=UTF-8&otf=2&ssel=4&tsel=3&kc=1&tk=521057|406131&q=";
url = url + URLEncoder.encode(text, "UTF-8");
HttpsURLConnection con = (HttpsURLConnection) new URL(url)
.openConnection();
System.setProperty("http.agent", "");
con.setRequestProperty(
"User-Agent",
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
// con.setha
con.setDoInput(true);
con.setDoOutput(true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int n;
while ((n = con.getInputStream().read()) != -1) {
baos.write(n);
}
;
String translatedText = new String(baos.toByteArray(), "UTF-8");