我遇到了一個很奇怪的問題。我正在嘗試使用HTTP GET和幾個參數調用servlet(JSP)(http://mydomain.com/method?param1=test & param2 = 123)。如果我從瀏覽器或通過WGET在bash會話中調用它,它可以正常工作。但是,當我使用urlConnection或httpURLConnection在Java客戶端中完成相同的調用時,服務器將返回500錯誤。服務器僅在被Java客戶端使用urlConnection/httpUrlConnection調用時才返回500錯誤
我用盡了一切我已經在網上找到,包括:
urlConn.setRequestProperty("Accept-Language", "en-us,en;q=0.5");
沒有我嘗試過,但是,工作過。不幸的是,我沒有訪問我打電話的服務器,所以我看不到日誌。
以下是最新代碼:
private String testURLConnection() {
String ret = "";
String url = "http://localhost:8080/TestService/test";
String query = "param1=value1¶m2=value2";
try {
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty("Accept-Charset", "UTF-8");
connection.setRequestProperty("Accept-Language", "en-us,en;q=0.5");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder content = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
content.append(line + "\n");
}
bufferedReader.close();
metaRet = content.toString();
log.debug(methodName + " return = " + metaRet);
} catch (Exception ex) {
log.error("Exception: " + ex);
log.error("stack trace: " + getStackTrace(ex));
}
return metaRet;
}
任何幫助將不勝感激!
你可以發佈你正在用來發送HTTP請求到服務器的所有相關代碼嗎? – sjr 2011-02-15 06:57:09
感謝您的快速響應。我用代碼更新了我的原始發帖。 – user455889 2011-02-15 07:21:45