我有這樣的代碼:HttpURLConnection類和編碼的字符
URL url = new URL("http://foo.com/?param=paj%E9");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
...
但是,它似乎像的openConnection被supressing URL的「%E9」的一部分,該服務器結束接收請求http://foo.com?param=paj
我忘了應用任何不同的設置來正常工作嗎?
謝謝!
編輯:URL「http://foo.com/?param=paj%E9」已經編碼(從http://foo.com/?param =pajé),這應該是服務器應該收到的請求。如果我試圖直接從瀏覽器訪問http://foo.com/?param=paj%E9,它會按預期工作。如果我的URLEncode「paj%E9」,我將對參數進行雙重編碼,服務器在解碼值時會看到「paj%E9」而不是「pajé」。 我實際上正在嘗試構建代理,因此我收到已編碼的網址。問題是,無論何時我使用HttpURLConnection傳遞要請求的編碼參數,它都會忽略編碼部分(如%E9)。
你需要URL編碼的請求參數。 – Zaki 2012-02-20 15:02:57