【发布时间】:2018-02-07 10:39:18
【问题描述】:
以前工作的代码。
有问题的网址是
它适用于 IE。它曾经与 webclient 一起工作。它现在在 webclient 中不起作用。我想知道问题是什么
它突然停止工作。所以我正在检查
Try
Dim wc = New WebClient
wc.Headers.Add("Accept", "text/html, application/xhtml+xml, image/jxr, */*")
wc.Headers.Add("Accept-Encoding", "gzip, deflate")
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko")
wc.Headers.Add("Accept-Language", "en-US,en;q=0.5")
wc.DownloadString(URL)
Catch ex As Exception
End Try
我也试过简单的版本。不工作
Try
Dim wc = New WebClient
wc.DownloadString(URL)
Catch ex As Exception
End Try
在这两种情况下 yobit 都会抛出 503 access denied 异常
我用fiddler,尝试用internetexplorer直接访问
效果很好
GET https://yobit.net/api/3/info HTTP/1.1
Accept: text/html, application/xhtml+xml, image/jxr, */*
Accept-Language: en-US,en;q=0.5
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: yobit.net
Connection: Keep-Alive
Cookie: __cfduid=de63c60d603f271520b9ee58dfdd257061517932785; cf_clearance=7e58588df28b267842f753567dcdc475d29679a6-1517932789-86400; locale=en
如果我使用 webclient 这是标题
GET https://yobit.net/api/3/info HTTP/1.1
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Accept: text/html, application/xhtml+xml, image/jxr, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: yobit.net
Connection: Keep-Alive
几乎完全相同。
让我试试另一个网址
GET http://www.google.com/ HTTP/1.1
Accept: text/html, application/xhtml+xml, image/jxr, */*
Accept-Language: en-US,en;q=0.5
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: www.google.com
Connection: Keep-Alive
Cookie: NID=121=GUd4VKHT_gcwUx-hK39mphuCg93Q_W2fL_yCc-JO3AJkgh74EGajif0537eraLK8ns2EdEQPexOOeBxSlOxVrj8t_AVn21FRme2hAxuLXz4F8aCZExIzME4jaYMBuUp_lnak5Q; OGPC=19004116-3:; 1P_JAR=2018-1-9-7
如果我使用网络客户端
GET http://google.com/ HTTP/1.1
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Accept: text/html, application/xhtml+xml, image/jxr, */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: google.com
Connection: Keep-Alive
两者都有效。
【问题讨论】:
-
好像需要Cookie,实际上是在IE中发送的,而不是在使用代码时发送的。这是经过身份验证的端点吗?因为我没有看到你提供任何这些信息
-
不,它不是经过身份验证的端点。我真的不认为 cookie 是问题所在。这是一个 API。我可以清除 cookie,我敢打赌它仍然可以在 IE 中使用
-
我最后检查了它在 curl 中工作,所以确保它不是 cookie 问题。你能检查一下它是否发生在一些 .NET 框架升级或什么之后?你能改变框架版本吗
-
它适用于 curl?嗯....
-
那个 yobit 东西是唯一不起作用的东西。所有其他 URL 都可以正常使用 webclient,因为它应该是
标签: webclient