First version was buggy. I've updated code at github, so if you want to try it, pull new version (git pull). I've also added new example into examples/user_agent_change.d

On 20.1.2012 16:08, Bystroushaak wrote:
There are two ways:

Change global variable for module:

dhttpclient.DefaultHeaders = dhttpclient.IEHeaders; // or your own

This will change headers for all clients.

---

Change instance headers:

string[string] my_headers = dhttpclient.FFHeaders; // there are more
headers than just User-Agent and you have to copy it
my_headers["User-Agent"] = "My own spider!";

HTTPClient navegador = new HTTPClient();
navegador.setClientHeaders(my_headers);

---

Headers are defined as:

public enum string[string] FFHeaders = [
"User-Agent" : "Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.13",
"Accept" :
"text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain",

"Accept-Language" : "cs,en-us;q=0.7,en;q=0.3",
"Accept-Charset" : "utf-8",
"Keep-Alive" : "300",
"Connection" : "keep-alive"
];

/// Headers from firefox 3.6.13 on Linux
public enum string[string] LFFHeaders = [
"User-Agent" : "Mozilla/5.0 (X11; U; Linux i686; cs; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.13",
"Accept" :
"text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain",

"Accept-Language" : "cs,en-us;q=0.7,en;q=0.3",
"Accept-Charset" : "utf-8",
"Keep-Alive" : "300",
"Connection" : "keep-alive"
];

Accept, Accept-Charset, Kepp-ALive and Connection are important and if
you redefine it, module can stop work with some servers.

On 20.1.2012 15:56, Xan xan wrote:
On the other hand, I see dhttpclient identifies as
"Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.13"

How can I change that?

Reply via email to