我嘗試做以下(在Java中):的Java .getInputStream()的openConnection()HTTP響應代碼中的錯誤
- 連接到一些代理服務器& HTTP_URL一些
但我有像一些錯誤: java.net.ConnectException: Connection timed out: connect...
或與之相關的HTTP響應代碼錯誤:302, 400, FileNotFound, file server error
等
在我做的一些更改中,我甚至得到了200
的代碼。 (當我只用openConnection()
=>(無代理IP地址) 這是我的最佳運行跟蹤
我有所有類:。在錯誤味精(來源不明),從IDE Eclipse的月神控制檯。
一些錯誤進來形式的/或:.getInputStream()
方法,我不知道是否有關於setDoInput()
,setDoOutput
的編碼,或什麼:?
一些機構可以幫我
這是我的代碼:
url = new URL(http_url);
HttpURLConnection conn;
try {
conn = (HttpURLConnection)url.openConnection(proxy);
conn.setRequestMethod("GET");
conn.setRequestProperty("User-Agent", USERAGENT);
conn.setUseCaches(false);
conn.setRequestProperty("Accept", "*/*");
conn.addRequestProperty("Referer", "http://www.google.com/");
conn.setRequestProperty("Accept-Encoding", "gzip,deflate,sdch");
conn.setRequestProperty("Accept-Language", "en-US,en;q=0.8");
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
conn.setDoInput(true);
System.out.println("response msg " + conn.getResponseMessage() + " CODE");
System.out.println("errorStream msg " + conn.getErrorStream());
System.out.println("inputStream msg " + conn.getInputStream());
String header_date = conn.getHeaderField("Date");
System.out.println(" date es: " + header_date);
String line = null;
StringBuffer tmp = new StringBuffer();
System.out.println("the code is :" + conn.getResponseCode());
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
while ((line = in.readLine()) != null) {
tmp.append(line);
}
System.out.println("value line is: " + line +"& date is: " + header_date);
Scrape(String.valueOf(tmp)); // temp.toString()
in.close();
in = null;
url = null;
conn.disconnect();
conn = null;
} else {
System.out.println("something bad happened code <>200, debug from your server");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
你應該明確地編輯您的問題,所以它變得更容易閱讀剝離下來。還刪除你的代碼,以顯示你有一個問題。我試圖理解你的問題,但沒有這樣做... – Jens
謝謝Jens我知道文本密集,但問題是openConnection(代理)如果你不使用代理代碼工作正常,如果您使用:System.setProperty(「 http.proxyHost「,Host); \t System.setProperty(「http.proxyPort」,Port);它也適用於什麼問題?它是一個需要擴展/覆蓋的抽象類嗎? –
我已經閱讀了關於openConnection(代理)的StackOverflow問題,並看到有很多人在這個相同的問題堆疊。關於openConnection()方法的代理問題,我沒有注意到Java中的一個主要錯誤。 –