私は非常に奇妙な問題を抱えています。HTTP GET といくつかのパラメーター (http://mydomain.com/method?param1=test¶m2=123) を使用してサーブレット (JSP) を呼び出そうとしています。ブラウザーから、または bash セッションで WGET を介して呼び出すと、正常に動作します。ただし、urlConnection または httpURLConnection を使用して Java クライアントでまったく同じ呼び出しを行うと、サーバーは 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;
}
どんな助けでも大歓迎です!