【Java/okhttp3】采用http post方式发送请求调用接口

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);
   }



}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值