我正在使用此代码从服务器下载文件并从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证书验证。感谢
答案 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)