1

我正在使用Facebook C#SDK對Facebook進行API調用,而且我似乎無法通過HTTP GET發送長查詢字符串。我需要一個很長的FQL查詢(select .. from .. where .. in)來執行,我似乎無法發送它。如果查詢較小,則發送成功並返回結果。不幸的是,由於FQL支持GET而不是POST,所以我堅持GET。如何在Windows Phone中使用HttpWebRequest發送長查詢字符串

如何增加Windows Phone HttpWebRequest中的默認查詢字符串限制?

我正在使用Windows Phone SDK 7.1,但在Windows Phone 8設備上進行測試。

回答

1

看來你需要切換到http post(如果可能)或以某種方式優化你的請求。

閱讀What is the maximum length of a URL in different browsers?。雖然HTTP的官方標準表示不應該有最大值,但實際上there are maximums。例如,IE have an upper bound of 2083 characters。 Windows Phone似乎對IE有類似的限制。

Microsoft Internet Explorer的最大統一資源定位符 (URL)長度爲2,083個字符。 Internet Explorer的最大路徑長度爲2,048個字符,最大長度爲 。此限制適用於POST 請求和GET請求URL。

如果使用的是GET方法,則最多限制爲2,048個 個字符,減去實際路徑中的字符數。

但是,POST方法不受提交名稱/值對的 的URL大小的限制。這些配對在標題 中傳輸,而不是在URL中傳輸。

RFC 2616「超文本傳輸​​協議-HTTP/1.1」未指定 對URL長度的任何要求。

來源:http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/f96622fe-4dcb-4d38-8831-4cfad1aa4a06/

相關問題