public class Main {
public static void main(String[] args) throws Exception {
testPost();
}
private static final String targetUrl1 = "http://api.xdclass.net/pub/api/v1/web/web_login";
private static final URI uri1 = URI.create(targetUrl1);
private static final void testPost() {
//设置建立连接的超时 connect timeout
var httpClient = HttpClient.newBuilder().connectTimeout(Duration.ofMillis(5000)).build();
var request = HttpRequest.newBuilder().uri(uri1)
//json格式则下面数据
.header("Content-Type","application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"phone\":\"13113777338\",\"pwd\":\"1234567890\"}"));
try {
var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Main {
public static void main(String[] args) throws Exception {
testPost();
}
private static final String targetUrl1 = "http://api.xdclass.net/pub/api/v1/web/web_login";
private static final URI uri1 = URI.create(targetUrl1);
private static final void testPost() {
//设置建立连接的超时 connect timeout
var httpClient = HttpClient.newBuilder().connectTimeout(Duration.ofMillis(5000)).build();
var request = HttpRequest.newBuilder().uri(uri1)
//form表单则使用下面的配置
.header("Content-Type","application/x-www-form-urlencoded")
.POST(HttpRequest.BodyPublishers.ofString("phone=13113777338&pwd=1234567890")).build();
try {
var response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
public class Main {
public static void main(String[] args) throws Exception {
testAsyncGet();
}
private static final String targetUrl = "http://api.xdclass.net/pub/api/v1/web/all_category";
private static final URI uri = URI.create(targetUrl);
private static final void testAsyncGet() {
var httpClient = HttpClient.newBuilder().build();
var request = HttpRequest.newBuilder().timeout(Duration.ofMillis(3000))
.header("key1", "v1")
.header("key2", "v2")
.uri(uri).build();
try {
// 使用var
var response = httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString())
.thenApply(HttpResponse::body);
System.out.println(response.get());
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
public class Main {
public static void main(String[] args) throws Exception {
testAsyncGet();
}
private static final String targetUrl = "http://api.xdclass.net/pub/api/v1/web/all_category";
private static final URI uri = URI.create(targetUrl);
private static final void testAsyncGet() {
var httpClient = HttpClient.newBuilder().build();
var request = HttpRequest.newBuilder().timeout(Duration.ofMillis(3000))
.header("key1", "v1")
.header("key2", "v2")
.uri(uri).build();
try {
// 使用CompletableFuture
CompletableFuture response = httpClient.sendAsync(request, HttpResponse.BodyHandlers.ofString())
.thenApply(HttpResponse::body);
System.out.println(response.get());
} catch (Exception e) {
e.printStackTrace();
}
}
}