我有一个非常奇怪的问题。我正在尝试使用 HTTP GET 和一些参数 (http://mydomain.com/method?param1=test¶m2=123) 调用 servlet (JSP)。如果我从浏览器或通过 bash 会话中的 WGET 调用它,它工作正常。但是,当我在 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;
}
任何帮助将不胜感激!