我處於非常奇怪的情況,我一直試圖在昨晚4個小時內進行調試。 It looks a bit like this unanswered question.對json API的Web請求沒有響應 - 超時出現異常
我在Windows Phone 8上開發了一個代碼片斷,其中下載了json數據。
在我的片段,我從http://api.mtgox.com/api/2/BTCUSD/money/ticker使用下載數據:
- WebClient的
- HttpWebRequest的
- web瀏覽器(不可見)
- WebClient的擴展處理餅乾
在所有四個案例,它在我的模擬器上工作。沒有延遲,沒有超時,沒有403,沒有404.
當我的一個朋友在他的模擬器上運行這段代碼時,它似乎超過7-8秒後出現TargetInvocationException異常,並且InnerException包含NotFound
消息。但在他的模擬器上,任何其他網站的作品。
這意味着,請求由: GET/API/2/BTCUSD /資金/股票 主持人:data.mtgox.com 連接:保持活躍 等
但根據三,四重,我在Wireshark上做的非常固執的驗證,在這之後沒有發生任何事情。它是空白的。所以它超時。
PC上沒有殺毒軟件或防火牆,發生故障請求。該頁面在桌面瀏覽器中正常加載。在模擬器上,來自其他網站的任何其他json請求都可以工作。
所以這個特定的地址不適用於特定的模擬器。
我在抓我的腦海中的CCNA知識,但找不到任何理由爲什麼網站會拒絕迴應模擬器,並接受迴應另一個?
奇怪的是,非工作PC上的代碼片段在添加User-Agent後開始在C#桌面控制檯應用程序中工作,但在他的WP模擬器中,此解決方法在上述四種方法中均無效。瘋狂的是發送的數據包是完全相同的。