加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DownloadString为https网址提供了超时,似乎可以在浏览器中

发布时间:2020-12-16 00:07:22 所属栏目:百科 来源:网络整理
导读:我想把这个URL的内容放到我的程序中: https://data.mtgox.com/api/2/BTCUSD/money/ticker.在我的任何浏览器中访问URL时,它都可以正常运行. 但是在我的程序中,它会等待90秒,并给我一个超时. 这是我的代码: private const string ApiLnk = "https://data.mtg
我想把这个URL的内容放到我的程序中: https://data.mtgox.com/api/2/BTCUSD/money/ticker.在我的任何浏览器中访问URL时,它都可以正常运行.

但是在我的程序中,它会等待90秒,并给我一个超时.

这是我的代码:

private const string ApiLnk = "https://data.mtgox.com/api/2/BTCUSD/money/ticker";

    static void Main(string[] args)
    {
        using (WebClient client = new WebClient())
        {
            string s = client.DownloadString(ApiLnk);
            int i = 0;
        }
    }

字符串s永远不会被分配,因为client.DownloadString()是一个停止.

获得像Google.com这样的普通网址时,它的效果非常好.

知道什么是错的吗?

解决方法

只需设置HttpRequestHeader.Accept和HttpRequestHeader.UserAgent标头即可.这有效

using (WebClient client = new WebClient())
{
    client.Headers[HttpRequestHeader.Accept] = "text/html,image/png,image/jpeg,image/gif,*/*;q=0.1";
    client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12";
    string s = client.DownloadString(ApiLnk);
    int i = 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读