c#文件下载问题

时间:2011-06-28 09:16:08

标签: c# .net download

我正在使用此代码从服务器下载文件并从JSON表示法解析数据:

        WebClient wcl = new WebClient();
        Uri url = new Uri(tickurl);
        string srlz = wcl.DownloadString(url);
        var dict = (new JavaScriptSerializer()).Deserialize<Dictionary<string, dynamic>>(srlz);

当我使用http://deepbit.net/api/ +我的令牌(URI返回JSON数据)时,它运行良好。

但是https://mtgox.com/code/data/ticker.php它停留在函数的第3行(数据下载)。

我做错了什么?两个URL都返回相同的JSON格式数据。

[添加]这不是https的问题,此代码与其他https服务一起运行良好。我想知道这可能是SSL证书的问题。

已解决:已关闭SSL证书验证。感谢

3 个答案:

答案 0 :(得分:2)

我怀疑它因安全问题而失败。当我使用wget获取时,我得到:

  

错误:证书通用名称www.mtgox.com' doesn't match requested host name mtgox.com'

使用wget标记使用--no-check-certificate获取时很好。

我不知道你是否可以说服WebClient不检查证书......但更好的选择显然是修复证书。

或者,请尝试使用此网址:https://www.mtgox.com/code/data/ticker.php - 请注意前面的www。这在wget中没有任何问题。

答案 1 :(得分:1)

网址:https://mtgox.com/code/data/ticker.php甚至没有在浏览器中打开。它开始下载'ticker.php'文件。您的服务器配置错误。代码很好。很可能服务器没有正确配置为将.php文件作为脚本处理。

答案 2 :(得分:1)

这是像Jon Skeet所说的证书错误。

看看这里找到一个简单的解决方案

WebClient + HTTPS Issues

您不应该将此用于所有请求,仅用于调试