1 常用抓包软件fidder4 Charles(可以拦截跳转map功能) 等,
Map From 为需要拦截的接口,Map To 为模拟的api接口,此处我们填入 http://www.mocky.io/v2/58592298240000ba087c5a92,如下图:![]()
需要等api 时候使用,
使用okhttp拦截器,
public class MockInterceptor
implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Gson gson = new Gson() ;
Response response = null;
Response.Builder builder = new Response.Builder()
.code( 200)
.message( "")
.request(chain.request())
.protocol(Protocol. HTTP_1_0)
.addHeader( "content-type" , "application/json") ;
Request request = chain.request() ;
if(request.url().equals( "we need to mock")){
String respondString = "{ \n " +
" \" code \" : \" 200 \" , \n " +
" \" message \" : \" success \"\n " +
" \" data \" :{ \n " +
" \n " +
" } \n " +
"}" ;
builder.body(ResponseBody. create(MediaType. parse( "application/json") ,respondString.getBytes())) ;
response = builder.build() ;
} else {
response = chain.proceed(request) ;
}
return response ;
}
}
@Override
public Response intercept(Chain chain) throws IOException {
Gson gson = new Gson() ;
Response response = null;
Response.Builder builder = new Response.Builder()
.code( 200)
.message( "")
.request(chain.request())
.protocol(Protocol. HTTP_1_0)
.addHeader( "content-type" , "application/json") ;
Request request = chain.request() ;
if(request.url().equals( "we need to mock")){
String respondString = "{ \n " +
" \" code \" : \" 200 \" , \n " +
" \" message \" : \" success \"\n " +
" \" data \" :{ \n " +
" \n " +
" } \n " +
"}" ;
builder.body(ResponseBody. create(MediaType. parse( "application/json") ,respondString.getBytes())) ;
response = builder.build() ;
} else {
response = chain.proceed(request) ;
}
return response ;
}
}
本文介绍了在Android中进行数据抓包的方法,包括使用Fiddler和Charles等工具,并详细阐述了如何利用Mocky.io模拟HTTP响应。同时,通过OkHttp的Interceptor实现对特定API的拦截并返回自定义的响应数据。
1327

被折叠的 条评论
为什么被折叠?



