似乎只发生一台机器而没有其他机器。
HttpWebRequest myRequest =(HttpWebRequest)WebRequest.Create("https://connect.zystemsgo.com/auto/");
myRequest.Method = "GET";
SetCertificatePolicy();
Application.DoEvents();
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(),System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
我尝试搜索其他400个请求错误,但目前尚不清楚。我该如何调试呢?
答案 0 :(得分:2)
HTTP Error 400表示错误请求。这是由服务器返回的。
通常,当我调试HTTP请求时,我使用Fiddler来监视请求和响应,并找出正在发生的事情。它永远不会失败。
答案 1 :(得分:1)
(不是真正的答案,但对评论来说太大了)
为了它的价值,我运行了以下Python代码(懒得旋转C#:),它运行良好:
import httplib
conn = httplib.HTTPSConnection('connect.zystemsgo.com')
conn.request('GET', '/auto/')
resp = conn.getresponse()
data = resp.read()
print data # expected ouput, just like visiting in a browser
print resp.status # 200
您确定向我们展示了实际失败的网址,或者您的代码是更一般的示例吗?
也许该机器上没有安装服务器证书?在这种情况下我不会期望HTTP 400,但这是我到目前为止唯一能想到的......
答案 2 :(得分:0)
这是一个错误的请求错误。请求中是否没有参数? 你能否发布回复信息,它会让你知道出了什么问题。
答案 3 :(得分:0)
我在上面的评论中提供的代码有效。 WebClient webClient = new WebClient(); webClient.DownloadFile(“你的文件的完整网址”,@“c:\ myfile.txt”);
您需要拥有在您选择的目录中写入的权限。
如果你愿意,你也可以尝试使用异步下载。我不明白为什么它不适用于某台机器。