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

您正在尝试在HttpConnection使用 HTTPS 的服务器上使用它,但它不起作用。我建议您查看有关通过 SSL 进行通信的 HTTPClient 文档。

于 2012-11-28T22:37:31.833 回答