Java如何发送HTTP POST请求?
以下代码段将向您展示如何使用ApacheHttpComponents发送HTTP发布请求。我们将http://localhost:8080/register使用将该请求发送给,其中包含一些参数NameValuePair。
要将这个参数传递给HTTP发布请求,我们创建的实例,UrlEncodedFormEntity并将的列表NameValuePair作为参数传递。在执行请求之前,我们将此实体对象设置为HttpPost.setEntity()方法。
让我们看下面的代码:
package org.nhooo.example.httpclient;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class HttpPostExample {
public static void main(String[] args) {
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost("http://localhost:8080/register");
//为HttpPost参数创建一些NameValuePair
List<NameValuePair> arguments = new ArrayList<>(3);
arguments.add(new BasicNameValuePair("username", "admin"));
arguments.add(new BasicNameValuePair("firstName", "System"));
arguments.add(new BasicNameValuePair("lastName", "Administrator"));
try {
post.setEntity(new UrlEncodedFormEntity(arguments));
HttpResponse response = client.execute(post);
//打印出响应消息
System.out.println(EntityUtils.toString(response.getEntity()));
} catch (IOException e) {
e.printStackTrace();
}
}
}Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=org/apache/httpcomponents/httpclient/4.5.9/httpclient-4.5.9.jar -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
</dependency>热门推荐
4 火把节祝福语简短
10 同事生日祝福语简短独特
11 开盘大吉的简短祝福语
12 祝福语大全短句简短英语
13 破五祝福语简短的
14 国庆中秋祝福语大全简短
15 新年顾客简短祝福语大全
16 医美的祝福语大全简短
17 春节新年祝福语简短幽默
18 私房进火祝福语简短