DownloadString给出了一个HTTPS URL似乎超时在浏览器中工作 [英] DownloadString gives a timeout on a https url seeming to work in a browser

查看:272
本文介绍了DownloadString给出了一个HTTPS URL似乎超时在浏览器中工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从这个URL的内容到我的程序:的https: //data.mtgox.com/api/2/BTCUSD/money/ticker 。当参观我的任何浏览器的URL,它完美的作品。

I am trying to get the content from this URL into my program: https://data.mtgox.com/api/2/BTCUSD/money/ticker . When visiting the URL in any of my browsers, it works perfectly.

然而,在我的程序,它会等待90秒,并给我一个暂停。

However in my program, it waits for 90 seconds, and give me a timeout.

这是我的代码:

    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从未被分配,作为客户端。 DownloadString()是一个拖延。

The string s never gets assigned, as the client.DownloadString() is the one stalling.

当得到一个正常的URL如Google.com,它完美的作品。

When getting a normal URL like Google.com, it works perfectly.

任何想法有什么不对?

推荐答案

只要设置 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;
}

这篇关于DownloadString给出了一个HTTPS URL似乎超时在浏览器中工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆