我一直尝试用各种工作的http代理访问这个页面,但我一直得到响应代码0。
var c = new RestClient("https://api.myip.com");
c.Proxy = new WebProxy(proxy.Split(":")[0], Convert.ToInt32(proxy.Split(":")[1]));
c.Timeout = 2000;
var req = new RestRequest("/", Method.GET);
var rest = c.Get(req);
我已经检查了代理,他们是活的,工作良好.为什么我得到的响应代码0在大多数时候?有时甚至是TemporaryRedirect或BadRequest,但这是非常罕见的。我说9.910次我得到响应代码0。而有时它工作得很好,但这是超级罕见的。
你应该在你得到的响应中检查一些更多的东西。你应该在你得到的响应中检查一些更多的东西。IRestResponse
实例给了你相当多的关于发生了什么的信息。RestSharp的设计不会抛出异常,任何在请求执行过程中发生的错误都会导致响应代码的出现 0
并将异常本身添加到响应对象中。
我们有 记载了这种行为. 还有很多其他的属性,你可以用来找出实际的响应代码和任何错误。
你也可以设置客户端的 ThrowOnAnyError
属性为 true
以迫使RestSharp抛出。