在 Java 中发送 HTTP POST 请求
本教程将介绍在 Java 中发送 HTTP POST 请求的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
让我们假设这个 URL...
http://www.example.com/page.php?id=10
(这里的id需要在POST请求中发送)
我想将 id = 10
发送到服务器的 page.php
,它以 POST 方法接受它.
我怎么在 Java 中做到这一点?
我试过这个:
URL aaa = new URL("http://www.example.com/page.php");
URLConnection ccc = aaa.openConnection();
但我仍然不知道怎么通过 POST 发送它
推荐答案
更新答案:
由于原始答案中的某些类在较新版本的 Apache HTTP 组件中已弃用,因此我发布此更新.
顺便说一句,您可以访问完整文档以获取更多示例 这里.
HttpClient httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost("http://www.a-domain.com/foo/");
// Request parameters and other properties.
List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("param-1", "12345"));
params.add(new BasicNameValuePair("param-2", "Hello!"));
httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
//Execute and get the response.
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
if (entity != null) {
try (InputStream instream = entity.getContent()) {
// do something useful
}
}
原答案:
我推荐使用 Apache HttpClient.它更快更容易实现.
HttpPost post = new HttpPost("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.
有关更多信息,请查看以下网址:http://hc.apache.org/
好了关于在 Java 中发送 HTTP POST 请求的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。