okhttp3使用post请求

先引用文件,否则Android9.0以后的网络请求无法使用

 


nettools.xml文件信息如下


<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

在application里面添加引用 

android:networkSecurityConfig="@xml/nettools"

然后再添加网络请求权限和读写权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

引用okhttp3框架

implementation 'com.squareup.okhttp3:okhttp:3.7.0'
implementation 'com.squareup.okio:okio:1.13.0'

最后就可以使用post请求了

代码如下

String url = "http://123.151.192.133:8020/S02/CommandGate";
//1,创建OKhttpClient对象
OkHttpClient mOkHttpClient = new OkHttpClient();
//2,创建Request
RequestBody formBody = new FormBody.Builder()
        .add("CommandName","APP0102")
        .add("version", "1")
        .add("appType", "Android")
        .add("userName", "admin")
        .add("password", "1")
        .build();

Request request = new Request.Builder().url(url).post(formBody).build();
//3,创建call对象并将请求对象添加到调度中
mOkHttpClient.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(Call call, IOException e) {
        Log.e("测试", e+"");
    }

    @Override
    public void onResponse(Call call, Response response) throws IOException {
        Log.e("测试", response.body().string());
    }

});

猜你喜欢

转载自blog.csdn.net/as425017946/article/details/107321748
今日推荐