implementation 'com.squareup.okhttp3:okhttp:4.9.3'
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.build();
String UserAgentHUAWEI = "Mozilla/5.0 (Linux; U; Android 8.0.0; zh-CN; HUAWEI NXT-TL00 Build/HUAWEINXT-TL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.1.4.994 Mobile Safari/537.36";
//MediaType 设置Content-Type 标头中包含的媒体类型值
//RequestBody requestBody = FormBody.create(MediaType.parse("application/x-www-form-urlencoded"), String.valueOf(json));
//提交JSON表单格式
JSONObject json = new JSONObject();
try {
json.put("timestamp", currentTimeMillis);
json.put("data", datajia);
json.put("sign", sign);
} catch (JSONException e) {
e.printStackTrace();
}
//RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), json);
//
//默认普通提交表单MediaType.parse("application/x-www-form-urlencoded")
RequestBody requestBody = new FormBody.Builder()
.add("timestamp", String.valueOf(currentTimeMillis))
.add("data", datajia)
.add("sign", sign)
.build();
Request request = new Request.Builder()
.url(urls)//请求的url
.addHeader("User-Agent", UserAgentHUAWEI)
//.addHeader("Host", "XXXX.com")
.post(requestBody)
.build();
//创建/Call
Call call = okHttpClient.newCall(request);
//加入队列 异步操作
call.enqueue(new Callback() {
//请求错误回调方法
@Override
public void onFailure(Call call, IOException e) {
System.out.println("连接失败");
runOnUiThread(new Runnable() {
@Override
public void run() {
tv.setText("连接失败BoLuoOKHTTP");
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//返回数据,必须是常量
final String request = response.body().string();
//
runOnUiThread(new Runnable() {
@Override
public void run() {
tv.setText(request);
}
});
runOnUiThread(new Runnable() {
@Override
public void run() {
tv1.setText(requests);
}
});
}
});