两分钟Mock OkHttp网络请求以CSDN官网请求为例
目录
上下文和工具
如何快速Mock该请求呢?共分为三步:Charles抓包、Postman Mock、OKHttp发起。
所需工具如下:
-
1.Charles:V4.6.1版本;
-
2.PostMan:9.4.0版本;
-
3.OKHttp:com.squareup.okhttp3:okhttp:3.10.0.3
步骤
Charles抓包
步骤1:打开Charles;
步骤3:右键该网络请求->点击"Copy cURL Request"
Postman Mock
步骤1:打开PostMan,点击import;
步骤2:选择Raw Text,粘贴,点击Continue;
步骤3:点击Send发送网络请求;将该请求转换为OKHttp代码;复制即可。
除了OKHttp请求之外,还支持Swift、C、PHP等。
OKHttp发起请求
复制粘贴即可&子线程发起网络请求,Header内容可调整。
-
OkHttpClient client = new OkHttpClient().newBuilder()
-
.build();
-
Request request = new Request.Builder()
-
.url("https://www.csdn.net/")
-
.method("GET", null)
-
.addHeader("Host", "www.csdn.net")
-
.addHeader("cache-control", "max-age=0")
-
.addHeader("sec-ch-ua-mobile", "?0")
-
.addHeader("sec-ch-ua-platform", "\"macOS\"")
-
.addHeader("upgrade-insecure-requests", "1")
-
.addHeader("user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36")
-
.addHeader("accept", "text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9")
-
.addHeader("sec-fetch-site", "none")
-
.addHeader("sec-fetch-mode", "navigate")
-
.addHeader("sec-fetch-user", "?1")
-
.addHeader("sec-fetch-dest", "document")
-
.addHeader("accept-language", "zh-CN,zh;q=0.9")
-
.addHeader("Cookie", "dc_session_id=10_1639217475457.541704; dc_sid=37cb10cf8843223cb9ebca11d00e6de9; uuid_tt_dd=10_19725877220-1639217475457-552295; csrfToken=tNX3XF6y0VyK1WNGp4j87-2_")
-
.build();
-
Response response = client.newCall(request).execute();
拓展知识
关于Http状态码
关于OkHttp
如何发起Get请求:
-
OkHttpClient client = new OkHttpClient();String run(String url) throws IOException {
-
Request request = new Request.Builder()
-
.url(url)
-
.build();
-
-
try (Response response = client.newCall(request).execute()) {
-
return response.body().string();
-
}
-
}
如何发起Post请求:
-
public static final MediaType JSON
-
= MediaType.get("application/json; charset=utf-8");OkHttpClient client = new OkHttpClient();String post(String url, String json) throws IOException {
-
RequestBody body = RequestBody.create(JSON, json);
-
Request request = new Request.Builder()
-
.url(url)
-
.post(body)
-
.build();
-
try (Response response = client.newCall(request).execute()) {
-
return response.body().string();
-
}
-
}
总结
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfibef
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13