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

有關idhttp讀取網頁的問題

尚未結案
iambu
一般會員


發表:4
回覆:0
積分:0
註冊:2003-11-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-05 10:28:04 IP:203.204.xxx.xxx 未訂閱
各位前輩,code如下          IdHTTP2.HandleRedirects:=true;   URL := 'http://www.trafficswarm.com/cgi-bin/startm.cgi?289446';   Data := IdHTTP1.Get(URL);      但會出現下面的錯誤訊息 請問問題出在哪裡呢?
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-16 04:24:36 IP:219.68.xxx.xxx 未訂閱
iambu您好..一樣的CODE我在我這邊RUN是沒問題的.. 您看您要不要把完整的部份貼上來.. <> <> <> < > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-17 15:12:22 IP:203.70.xxx.xxx 未訂閱
請問您使用的 Indy 是哪一個版本,或許您試著更新到 Indy 9.0 試試看, 您可至下列網址 download: http://www.indyproject.org/download/Files/Indy9.iwp 我自己使用的版本為: http://www.indyproject.org/indy/downloads/Indy_9_00_17_src.zip BCB 6 的安裝步驟請參考 (我想 Delphi 大同小異吧): http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182 Delphi X 的安裝步驟 Ktop 裡有不少文章,請搜尋一下。
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-17 15:13:23 IP:203.70.xxx.xxx 未訂閱
DELPHI 6 的安裝步驟請參考: http://delphi.ktop.com.tw/topic.php?topic_id=28329 發表人 - allenchan 於 2004/11/17 15:25:44
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-17 15:18:30 IP:203.70.xxx.xxx 未訂閱
請問您使用的 Indy 是哪一個版本,或許您試著更新到 Indy 9.0 試試看, 您可至下列網址 download: http://www.indyproject.org/download/Files/Indy9.iwp 我自己使用的版本為: http://www.indyproject.org/indy/downloads/Indy_9_00_17_src.zip BCB 6 的安裝步驟請參考 (我想 Delphi 大同小異吧): http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25182 Delphi 的安裝步驟 Ktop 裡有不少文章,請搜尋一下。 Allen Chan
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-18 15:44:17 IP:192.192.xxx.xxx 未訂閱
小弟的INDY也沒有更新..只有使用8.X.. 但是一樣能RUN...所以應該不是INDY的問題吧.. 不過我突然發現..IdHTTP1.Get()應該是無傳回值的PROCEDURE唷.. 而您用Data := IdHTTP1.Get(URL); 這樣是不對的.. 如果您想要將取得的資料存起來..可以使用以下範例 把他 class="code"> procedure TForm1.Button1Click(Sender: TObject); var fs:TMemoryStream; buf:string; begin fs:=TMemoryStream.Create; IdHttp1.Get('http://www.trafficswarm.com/cgi-bin/startm.cgi?289446',fs); SetLength(buf,fs.Size); fs.Position:=0; fs.ReadBuffer(buf[1],fs.Size); memo1.Lines.Text:=buf; fs.Free; end;
< >
    =程式是一種藝術 也是訓練自己的分析規劃=
=是段落分明 或是雜亂無章=
=是一言以敝 或是廢話連篇=
=是一目了然 或是艱深難懂=
體會這份藝術 您會了解另一份喜悅與成就
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-11-18 16:50:19 IP:203.70.xxx.xxx 未訂閱
To geniustom:    摘錄自Indy 9 Help:    TIdCustomHTTP.Get Retrieves an HTTP resource. procedure Get(AURL: string; const AResponseContent: TStream); overload; function Get(AURL: string): string; overload; Parameters AURL: string The resource to be retrieved. const AResponseContent: TStream Destination for the data retrieved. Description Get is an overloaded method used to retrieve the file or data for the resource specified in AURL. AURL is the complete, fully-qualified location of the resource. AResponseContent is the TStream or descendant that is the destination for data retrieved using the specified URL . Use Get(AUrl) to retrieve the data from AURL and return the contents as the String result of the function. Use Get(AUrl, AResponseContent) to retrieve data from the URL and write the return values to the TStream descendant specified by AResponseContent. Get relies on the DoRequest method to perform the HTTP transfer. -------------------------------------------------------------------- 所以這兩種呼叫方式: procedure Get(AURL: string; const AResponseContent: TStream); overload; function Get(AURL: string): string; overload; 都應該是可以用的。
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-11-18 17:53:24 IP:203.70.xxx.xxx 未訂閱
我之前用舊的 Indy 來測有同樣的問題,問題發生在當我對 HTTP SERVER 送出Request: GET / HTTP/1.1 在 IdHTTP 內部期望的是 HTTP SERVER 回應: HTTP/1.1 200 OK 或是一其他標準的 HTTP COMMAND。 但是在這個網頁:http://www.trafficswarm.com/cgi-bin/startm.cgi?289446 在送出 Request 後,所收到的回應卻是: < html > ,因此 Indy 無法處理,所以會 throw exception 出來。 在我換了 Indy 9 之後,狀況還是一樣,但是 geniustom 大大卻可以成功取得資料,是否和環境有關係呢?還是設定方面有關?不知 geniustom 大大的網路環境如何?有無 Proxy 呢?我測試的環境皆在 proxy server 的後面。
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-04-26 13:51:20 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-07 20:55:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!