2017-05-05 23 views
0

以下の簡単なコードで、RestClientはWebプロキシを通過できません。 request.Credentialsの価値を尊重していません.CredentialsRestSharpはRestRequestリクエストを尊重していません.Credentials - httpプロキシ経由で取得できません。

私はブラウザで質問しようとしているサイトにアクセスできます。 RestClientは私の会社のプロキシによってブロックされています。

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; 
} 

それでは、私はtextBox1テキストボックスにで終わることにレンダリングするhtmlです:

あなたは が許可されていないと承認であるため、ゲートウェイは、あなたの要求をブロックしただけ

セキュアWebを認定

必須。

URL:

ユーザー名/出典:/ 10.xx.xx.xx

ルール・セット:ケルベロスでKerberosとNTLMフォールバック/認証

による認証(NTLMを評価しません。トークン)

重要:インターネットのWebページにアクセスするときは、[CompanyName] Internet Filteringに従って承認承認を受ける必要があります。

はつまり2017年5月5日15時04分08秒

RestSharpの104.1.0.0

を生成し、RestSharpはそのになってのようなWebプロキシに既定の資格情報を送信していません。

答えて

0

私は答えを見つけた:

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

HttpWebRequestのはありません例えばように、それは単にあなたのWindowsのセットアップからプロキシURLを読み取ることができません。プロキシURLを指定する必要があります。

関連する問題