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;
}