キーと値のペアを別のサーバーにポストして応答を取得するポスト メソッドを作成しようとしています。キーと値のペアはセキュリティ上の理由からあり、単純な投稿です。応答は XML として返されます。理想的には、これをオブジェクトにもマップしたいと考えています。
これまでに行ったことは次のとおりです。
まず、単純なフォームを使用して機能するかどうかを確認しました。
<form action="https://somesite.com/feed" method="post">
<input type="hidden" name="key" value="value" />
<input type="submit">
</form>
これにより、期待していた XML が正常に返されました。
次に、コード内でこれを試しました:
HttpClient client = new HttpClient();
BufferedReader br = null;
PostMethod method = new PostMethod("https://somesite.com/feed");
method.addParameter("key", "value");
try {
int returnCode = client.executeMethod(method);
br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream()));
String readLine;
while (((readLine = br.readLine()) != null)) {
System.err.println(readLine);
}
StringWriter stringWriter = new StringWriter();
IOUtils.copy(method.getResponseBodyAsStream(), stringWriter);
System.out.println(stringWriter.toString());
} catch (Exception e) {
// TODO: handle exception
} finally {
method.releaseConnection();
if(br != null) try { br.close(); } catch (Exception fe) {}
}
client.executeMethod で、ConnectException: Connection timed out が発生しました。
アドバイスをいただければ幸いです。
別のドメイン http と https を使用することに問題はありますか? つまり、http ページまたは https ページからこの post メソッドを呼び出した場合などです。
ありがとう。