0

キーと値のペアを別のサーバーにポストして応答を取得するポスト メソッドを作成しようとしています。キーと値のペアはセキュリティ上の理由からあり、単純な投稿です。応答は 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 メソッドを呼び出した場合などです。

ありがとう。

4

1 に答える 1