package org.example;
import okhttp3.*;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import java.io.IOException;
import java.net.URLEncoder;
import java.security.NoSuchAlgorithmException;
public class Main {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
OkHttpClient client = builder.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
//强行返回true 即验证成功
return true;
}
}).build();//忽略hostname 的验证,解决Hostname was not verified
MediaType mediaType = MediaType.parse("text/plain");
//请求体参数
String extport = "";
String mobiles = "13646049688";
String sendtime = "";
String content = "【福利彩票】你好鸭123456";
String timestamp = Long.toString(System.currentTimeMillis());
String sign = SHAUtils.sha1(extport+mobiles+sendtime+ URLEncoder.encode(content,"utf-8")+timestamp+auth_key);//SHA1加密
RequestBody body = RequestBody.create(mediaType, "{ \"auth_code\": \""+auth_code+"\",\r\n \"spid\": \""+spid+"\",\r\n \"extport\": \"\",\r\n \"smsid\": \""+smsid+"\",\r\n \"mobiles\": \""+mobiles+"\",\r\n \"content\": \""+content+"\",\r\n \"timestamp\": \""+timestamp+"\",\r\n \"sign\": \""+sign+"\"\r\n}");//根据参数构造请求体
Request request = new Request.Builder()
.url("https://111.111.111.111:11111/Controller/send")//接口地址
.method("POST", body)//POST方法调用
.build();
Response response = client.newCall(request).execute();
System.out.println(response);
}
}
【Java/okhttp3】采用http post方式发送请求调用接口
于 2022-11-24 15:36:58 首次发布