5

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

我需要一些网站的完整版(桌面版),而不是移动版。

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

有什么建议吗?

4

2 回答 2

29

您应该覆盖 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;
}
于 2013-06-04T08:34:29.897 回答
2

继@alex 的回答之后,您需要将此@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 答案。-如何在 Volley Request 中设置自定义标头

于 2015-08-13T09:13:26.663 回答