it-swarm.com.de

Festlegen des Benutzeragenten mit System.Net.WebRequest in c #

Hallo, ich versuche, User Agent mit WebRequest einzustellen, aber leider habe ich nur die Verwendung von HttpWebRequest gefunden. Hier ist mein Code und ich hoffe, Sie können mir helfen, den User Agent mit WebRequest einzustellen.

hier ist mein 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;
    }

Ich habe versucht, "request.Headers.Add" ("user-agent", _USER_AGENT) hinzuzufügen; " Ich erhalte jedoch eine Fehlermeldung.

8
enb141

Verwenden Sie die Eigenschaft UserAgent für HttpWebRequest, indem Sie sie in eine HttpWebRequest umwandeln.

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

Anstelle von Casting können Sie stattdessen auch WebRequest.CreateHttp verwenden.

24
vcsjones

Wenn Sie versuchen, eine HttpWebRequest anstelle eines grundlegenden WebRequest-Objekts zu verwenden, wird eine spezifische Eigenschaft für UserAgent verfügbar gemacht.

// 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