使用下面的简单代码,RestClient无法通过Web代理访问。它不尊重请求的价值。
我可以在浏览器中访问要查询的网站;但是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;
}
Run Code Online (Sandbox Code Playgroud)
所以我在textBox1中最终得到的是html,它呈现为:
仅授权
Secure Web Gateway已阻止您的请求,因为您尚未获得授权并且需要授权。
网址:
用户名/来源:/ 10.xx.xx.xx
规则集:使用Kerberos和NTLM后备身份验证进行身份验证/身份验证
使用Kerberos(不评估NTLM令牌)
重要说明:当您访问Internet网页时,您应该遵守[CompanyName] Internet过滤的授权批准。
产生2017-05-05 15:04:08
RestSharp 104.1.0.0
换句话说,RestSharp不会像默认的那样将默认凭据传输到Web代理。
我刚才在这个问题的评论中听说过PSR-2编码标准:在方法和成员变量名称之前有没有理由使用"public"关键字?
我对PSR-2标准中的一条规则有疑问:
必须从仅包含PHP的文件中省略关闭?>标记.
那是什么意思?