質問

I have one small strange question: How do I set the user agent in Volley?

I need the full version of some sites (desktop version), not mobile version.

I tried to change variable userAgent from "volley/0" to something like "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36" (my Chrome). No difference.

Any advice?

役に立ちましたか?

解決

You should override the method getHeaders() in Request and set the "User-agent" header

In your Request class:

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

他のヒント

Following on from @alex's answer you need to add this @Override function to your request object when adding it to the queue.

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;
    }
};

To understand more about how to add this to your requests, see this StackOverflow answer about setting headers. - How to set custom header in Volley Request

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top