線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:110
推到 Plurk!
推到 Facebook!

Delphi + indy10.0.52 IdHTTP1.Get 問題請教各位前輩..

答題得分者是:GrandRURU
happyhipo42
一般會員


發表:1
回覆:1
積分:0
註冊:2017-10-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2017-10-30 10:06:51 IP:218.32.xxx.xxx 未訂閱

小弟在使用IdHTTP1.Get 時遇到一個問題想請教各位先進...

小弟於http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/100台北市中正區汀洲路.... (地址)
這串放在任何的網頁工具(IE, Google Chrome, FireFox上面所回傳的資料都是完整的資料
//{"result":[{"PZip5":"50922","Area":"中"}]}
回傳資料會因為地址不同而變更

那我用D7 直接去撈取資料
IdHTTP1.Get(http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/100台北市中正區汀洲路....)

所抓到的資料卻只有
//{"result":[{"PZip5":"","Area":""}]}

請問這個有可能是哪邊發生問題呀?還是小工我漏掉啥了??

感謝各位~~
------
一個人當三個用的程式小工...
編輯記錄
happyhipo42 重新編輯於 2017-10-30 10:18:33, 註解 無‧
happyhipo42 重新編輯於 2017-10-30 10:19:27, 註解 無‧
happyhipo42 重新編輯於 2017-10-30 10:21:26, 註解 無‧
happyhipo42 重新編輯於 2017-10-30 10:23:36, 註解 無‧
happyhipo42 重新編輯於 2017-10-30 10:26:34, 註解 無‧
GrandRURU
站務副站長


發表:234
回覆:1654
積分:1752
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2017-10-30 11:58:49 IP:59.120.xxx.xxx 未訂閱
因為您看到的參數在瀏覽器會採取自動編碼

以您此例為:100台北市中正區汀洲路
百分比編碼後為:
100% e5% 8f% b0% e5% 8c% 97% e5% b8% 82% e4% b8% ad% e6% ad% a3% e5% 8d% 80% e6% b1% 80% e6% b4% b2% e8% b7% af
(空白請自行接回)

Indy 裡有相關工具可以使用,請您再試試看。

===================引 用 happyhipo42 文 章===================

小弟在使用IdHTTP1.Get 時遇到一個問題想請教各位先進...

小弟於http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/100台北市中正區汀洲路.... (地址)
這串放在任何的網頁工具(IE, Google Chrome, FireFox上面所回傳的資料都是完整的資料
//{"result":[{"PZip5":"50922","Area":"中"}]}
回傳資料會因為地址不同而變更

那我用D7 直接去撈取資料
IdHTTP1.Get(http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/100台北市中正區汀洲路....)

所抓到的資料卻只有
//{"result":[{"PZip5":"","Area":""}]}

請問這個有可能是哪邊發生問題呀?還是小工我漏掉啥了??

感謝各位~~
編輯記錄
GrandRURU 重新編輯於 2017-10-30 11:59:25, 註解 無‧
GrandRURU 重新編輯於 2017-10-30 12:00:28, 註解 無‧
happyhipo42
一般會員


發表:1
回覆:1
積分:0
註冊:2017-10-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2017-10-30 16:32:09 IP:218.32.xxx.xxx 未訂閱
 副站大大...

瀏覽器會採取自動編碼,這個可以理解,
那再次請問如果我是用indy10的 IdHTTP.Get這樣寫的話
瀏覽器也會自動編碼嗎??

因為我在沒有變更編碼的狀況下,在程式中網址設定
網址為http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/台北%E.......
以及
網址為http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/台北市中正區汀洲路........
所得到的資料都是{"result":[{"PZip5":"","Area":""}]}
那詢問對方公司(宅x通),反映回來的是我地址提供的不正確才沒有正確的資料回來。

反倒是直接在瀏覽器上兩者都可回傳正確的值....
另...相關工具....還在爬文中...繼續努力...

謝謝副站大大的回覆....^_^
===================引 用 GrandRURU 文 章===================
因為您看到的參數在瀏覽器會採取自動編碼

以您此例為:100台北市中正區汀洲路
百分比編碼後為:
100% e5% 8f% b0% e5% 8c% 97% e5% b8% 82% e4% b8% ad% e6% ad% a3% e5% 8d% 80% e6% b1% 80% e6% b4% b2% e8% b7% af
(空白請自行接回)

Indy 裡有相關工具可以使用,請您再試試看。

===================引 用 happyhipo42 文 章===================

小弟在使用IdHTTP1.Get 時遇到一個問題想請教各位先進...

小弟於http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/100台北市中正區汀洲路.... (地址)
這串放在任何的網頁工具(IE, Google Chrome, FireFox上面所回傳的資料都是完整的資料
//{"result":[{"PZip5":"50922","Area":"中"}]}
回傳資料會因為地址不同而變更

那我用D7 直接去撈取資料
IdHTTP1.Get(http://query2.e-can.com.tw:8080/datasnap/rest/tserverMT/LookupZip/100台北市中正區汀洲路....)

所抓到的資料卻只有
//{"result":[{"PZip5":"","Area":""}]}

請問這個有可能是哪邊發生問題呀?還是小工我漏掉啥了??

感謝各位~~
------
一個人當三個用的程式小工...
sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2017-10-31 13:27:30 IP:59.127.xxx.xxx 未訂閱
用 idHTTP 來取資料,跟瀏覽器有什麼關係?
如果 indy 有提供 URL encoding 功能,就呼叫他,如果沒有,就得自己轉。

===================引 用 happyhipo42 文 章===================
副站大大...

瀏覽器會採取自動編碼,這個可以理解,
那再次請問如果我是用indy10的 IdHTTP.Get這樣寫的話
瀏覽器也會自動編碼嗎??
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2017-11-24 21:12:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!