1

apache http クライアントを使用して単純な http 投稿を作成しようとしていますが、一生それを機能させることはできません。これはhttp://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpState.htmlの例に基づいています。URL、ホスト、またはポートに問題があるとは思わない理由は、それらすべてを通常の html フォームと telnet で動作させたからです。

私が得るエラーは次のとおりです。

org.apache.commons.httpclient.ProtocolException: サーバー somehost.something.com が有効な HTTP 応答で応答できませんでした

これが私のコードです:

public InputStream trialPost() {
    PostMethod post = new PostMethod("https://somesite.com/example.php");
    NameValuePair[] data = {
      new NameValuePair("parameter1", "blah"),
      new NameValuePair("parameter2", "blah")
    };
    post.setRequestBody(data);
    HttpState hs = new HttpState();
    HttpConnection hc = new HttpConnection("somehost.something.com", 443);
    InputStream in = null;
    try {
        hc.open();
        post.execute(hs, hc);    
        in = post.getResponseBodyAsStream();
        hc.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    // handle response.
    return in;

}
4

1 に答える 1

2

HTTPS を使用してサーバー上でを使用しようとしてHttpConnectionいますが、これは機能しません。SSL を介した通信に関する HTTPClient ドキュメントをご覧になることをお勧めします。

于 2012-11-28T22:37:31.833 に答える