2013-04-04 90 views
0

我處於非常奇怪的情況,我一直試圖在昨晚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模擬器中,此解決方法在上述四種方法中均無效。瘋狂的是發送的數據包是完全相同的。

回答

1

我也有類似的問題。解決方案是:

  1. 將項目編譯到您的設備。
  2. 停止調試
  3. 關閉您的應用程序在手機上(和更好的重新啓動設備)
  4. 像一個魅力的所有作品))

這是幫助我(我用的RESTClient實現與Web客戶端)

我希望它也能幫助你。

問候。