无法让HTTP Post工作

时间:2012-11-28 22:26:13

标签: java http

我正在尝试使用apache http客户端创建一个简单的http帖子,我不能为我的生活让它工作。我的基础是http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpState.html的例子。我不认为我的网址,主机或端口有问题的原因是因为我将它们全部用于常规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;

}

1 个答案:

答案 0 :(得分:1)

您正尝试使用HTTPS在服务器上使用HttpConnection,但这不起作用。我建议您查看communicating over SSL上的HTTPClient文档。