2017-05-05 3 views
0

Mit dem einfachen Code unten ist RestClient nicht in der Lage, durch den Web-Proxy zu bekommen. Es ehrt nicht den Wert von request.CredentialsRestSharp wird RestRequest-Anfrage nicht gerecht.Kreditoren - kann nicht durch HTTP-Proxy

Ich bin in der Lage, zu der Site zu gelangen, die ich versuche, im Browser abzufragen; aber der RestClient wird vom Proxy meiner Firma blockiert.

try 
{ 
    RestClient client = new RestClient("http://services.groupkt.com/country/get/all"); 
    RestRequest request = new RestRequest(Method.POST); 

    //set credentials to default 
    request.Credentials = System.Net.CredentialCache.DefaultCredentials; 

    //also tried using client.UserAgent to spoof Firefox user-agent to no avail 

    request.AddHeader("cache-control", "no-cache"); 
    request.AddHeader("content-type", "application/x-www-form-urlencoded"); 

    IRestResponse response = client.Execute(request); 
    textBox1.Text = response.Content; 
} 
catch (Exception ex) 
{ 
    textBox1.Text = "ERROR:" + ex.Message; 
} 

Also, was ich mit in textBox1 am Ende ist html, die macht:

Autorisierte Nur

Secure Web Gateway blockiert hat Ihre Anfrage, weil Sie nicht gewesen sein autorisiert und Genehmigung erforderlich.

URL:

Benutzername/Quelle:/10.xx.xx.xx

Regelsatz: Authentifizierung mit Kerberos und NTLM-Fehlerwert/Authentifizieren

Mit Kerberos (auswerten nicht NTLM Tokens)

WICHTIG: Wenn Sie auf Internet-Webseiten zugreifen, sollten Sie die Genehmigungen gemäß [CompanyName] Internet Filtering einhalten.

erzeugt 2017-05-05 15:04:08

RestSharp 104.1.0.0

Mit anderen Worten, RestSharp sendet nicht die Standardanmeldeinformationen an den Web-Proxy wie seine angeblich.

Antwort

0

fand ich die Antwort:

 client.Proxy = new WebProxy(myProxyUrl); 
     client.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials; 

So kann die Proxy-URL von Ihren Windows-Setup wie zum Beispiel HttpWebRequest nicht einfach lesen. Sie müssen die Proxy-URL angeben.

Verwandte Themen