【问题标题】:Wrapper class for HttpGet / Post in Java?Java中HttpGet / Post的包装类?
【发布时间】:2010-05-13 19:28:19
【问题描述】:

抱歉,我是 Java 新手。

我偶然发现了 HttpGet 和 HttpPost,它们似乎非常适合我的需求,但有点啰嗦。我写了一个相当糟糕的包装类,但有谁知道在哪里可以获得更好的包装类?

理想情况下,我可以做到

String response = fetchContent("http://url/", postdata);

postdata 是可选的。

谢谢!

【问题讨论】:

  • 只是补充一点,我并不“期望”能够在一行中做到这一点。这只是一个例子——我意识到 Java 可能更精确,我需要 try 和 catch 才能让一切正常工作。
  • “无法实例化 HttpClient 类型”——这就是我尝试将 HttpClient 用于“HttpClient client = new HttpClient();”时得到的结果

标签: java http httpwebrequest http-post http-get


【解决方案1】:

HttpClient 听起来像你想要的。您当然不能在一行中完成上述操作,但它是一个完整的 HTTP 库,包含 Get/Post 请求(以及其他请求)。

【讨论】:

  • 如果你最终用它做任何事情,你可能需要身份验证/ssl(HttpClient 支持)。
【解决方案2】:

我会考虑使用HttpClient 库。从他们的documentation,您可以生成这样的 POST:

PostMethod post = new PostMethod("http://jakarata.apache.org/");
NameValuePair[] data = {
  new NameValuePair("user", "joe"),
  new NameValuePair("password", "bloggs")
};
post.setRequestBody(data);
// execute method and handle any error responses.
...
InputStream in = post.getResponseBodyAsStream();
// handle response.

如果您最终需要这些选项,可以使用许多高级选项来配置客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    相关资源
    最近更新 更多