web-dev-qa-db-fra.com

Comment définir l'agent utilisateur avec System.Net.WebRequest en c #

Bonjour, j'essaie de configurer UserAgent avec WebRequest, mais malheureusement, je n’ai trouvé que le moyen de le faire avec HttpWebRequest. Voici donc mon code et j’espère que vous pourrez m'aider à configurer UserAgent avec WebRequest.

voici mon code

    public string Post(string url, string Post, string Header, string Value)
    {
        string str_ReturnValue = "";

        WebRequest request = WebRequest.Create(url);

        request.Method = "POST";
        request.ContentType = "application/json;charset=UTF-8";                        
        request.Timeout = 1000000;

        if (Header != null & Value != null)
        {
            request.Headers.Add(Header, Value);                                
        }

        using (Stream s = request.GetRequestStream())
        {
            using (StreamWriter sw = new StreamWriter(s))
                sw.Write(Post);
        }

        using (Stream s = request.GetResponse().GetResponseStream())
        {                
            using (StreamReader sr = new StreamReader(s))
            {
                var jsonData = sr.ReadToEnd();
                str_ReturnValue += jsonData.ToString();
            }
        }

        return str_ReturnValue;
    }

J'ai essayé d'ajouter "request.Headers.Add (" user-agent ", _USER_AGENT);" mais je reçois un message d'erreur.

8
enb141

Utilisez la propriété UserAgent sur HttpWebRequest en la convertissant en HttpWebRequest.

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

Alternativement, au lieu de lancer vous pouvez utiliser WebRequest.CreateHttp à la place.

24
vcsjones

Si vous essayez d'utiliser HttpWebRequest au lieu d'un WebRequest de base, il existe une propriété spécifique à exposée pour UserAgent .

// Create a new 'HttpWebRequest' object to the mentioned URL.
var myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
myHttpWebRequest.UserAgent=".NET Framework Test Client";

// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
var myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
0
Reddog