手机浏览器上网
打开浏览器,点开浏览器的“设置”项(一般在页面下方图标为三个杠的菜单中),找到“设置”里“UA设置”;UA设置一般有四个选项“Android;iPhone;iPad;电脑”,默认是“Android”,改选为“电脑”即可。
代码网络请求实现。
通过抓包软件比对,设置浏览器UA选项前后发出去的数据请求,只是请求头user-agent字段不同;我们代码一般不特别设置user-agent字段,默认情况下是发出去的请求头是没有该字段的。于是要实现伪装,只要为请求头添加相应的user-agent字段即可。
实例代码:
Map<String, String> headers = new HashMap<>();
public void request(Context context, String url, final BaseCallback callback) {
headers.clear();
//伪装成电脑上网
headers.put("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.20 (KHTML, likeGecko) Chrome/11.0.672.0 Safari/534.20");
RequestQueue queue = Volley.newRequestQueue(context);
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
WxLog.i(tag, " getLoginUUID onResponse: " + response);
if (callback != null) {
callback.onSuccess(response);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
WxLog.i(tag, " onErrorResponse");
if (callback != null) {
callback.onFailed(error.getMessage());
}
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
return headers;
}
};
queue.add(stringRequest);
}