2017-05-11 2 views
1

Je suis en train de mettre l'utilisateur-agent dans ma tête http dans notre override GetWebRequest en C#Comment puis-je configurer l'agent utilisateur dans l'en-tête http

protected override System.Net.WebRequest GetWebRequest(Uri uri) 
{ 
    System.Net.HttpWebRequest request = base.GetWebRequest(uri) as System.Net.HttpWebRequest;     
    request.Headers.Add("User-Agent", ([email protected]")); 
    request.ProtocolVersion = System.Net.HttpVersion.Version10; 
    request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore); 
    request.KeepAlive = false; 
    return request; 
} 

Ma demande est retourné avec un erreur et on m'a dit qu'ils ne voient pas le user-agent. J'ai essayé d'autres manières de placer l'user-agent d'en-tête mais rien ne fonctionne jusqu'ici. D'autres façons que j'ai essayé sont

request.Headers["User-Agent"] = "[email protected]"); 
request.UserAgent = "[email protected]"; 
request.Headers.Set("User-Agent", "[email protected]"); 

Le site que je suis en train d'envoyer ma demande me dit qu'il a besoin d'un moyen de nous identifier en cas de problèmes et « s'il vous plaît assurez-vous que votre demande comprend le » user- agent "en-tête http." Ils m'ont envoyé un exemple mais il utilise CURL

curl_setopt($ch, CURLOPT_USERAGENT,'[email protected]) 
+0

Avez-vous essayé set-agent utilisateur avec « Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/58.0.3029.96 afari/537.36 "? –

Répondre

0

Je pense que vous utilisez l'en-tête User-Agent de manière incorrecte. De MSDN:

Lorsque vous visitez une page Web, votre navigateur envoie la chaîne de l'agent utilisateur à le serveur hébergeant le site que vous visitez. Cette chaîne indique le navigateur que vous utilisez, son numéro de version et les détails sur votre système, tels que le système d'exploitation et la version. Le serveur Web peut utiliser cette information pour fournir un contenu personnalisé pour votre navigateur spécifique.

Un exemple de cette page:

User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv: 11.0) comme Gecko

0

User-agent représentez votre navigateur comme Firefox ou Chrome

Utilisez la propriété UserAgent sur HttpWebRequest en la convertissant en requête HttpWeb

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.UserAgent = "my user agent"; 

ou

request = new HttpClient(); 
request.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0");