如何在Volley中设置用户代理?

时间:2013-06-04 08:26:53

标签: android android-volley

我有一个小问题:如何在Volley中设置用户代理?

我需要某些网站的完整版(桌面版),移动版。

我尝试将变量userAgent从“volley / 0”更改为“Mozilla / 5.0(X11; Linux i686)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 27.0.1453.93 Safari / 537.36”(我的Chrome) 。没有不同。

有什么建议吗?

2 个答案:

答案 0 :(得分:28)

您应该在Request中覆盖方法getHeaders()并设置“User-agent”标题

在您的请求类中:

@Override
public Map<String, String> getHeaders(){
    Map<String, String> headers = new HashMap<String, String>();
    headers.put("User-agent", "YOUR_USER_AGENT");
    return headers;
}

答案 1 :(得分:2)

继来自@ alex&#39的答案后,您需要在将其添加到队列时将此@Override函数添加到您的请求对象中。

Request request = new Request(
   Method.GET,
   url,
   Listener listener,
   ErrorListener errorListener) {
    @Override
    public Map<String, String> getHeaders(){
        Map<String, String> headers = new HashMap<String, String>();
        headers.put("User-agent", "YOUR_USER_AGENT");
        return headers;
    }
};

要了解有关如何将此添加到您的请求的详细信息,请参阅此StackOverflow有关设置标头的答案。 - How to set custom header in Volley Request