IdHTTP1.Get 有辦法不管網址是否有加上 http 都可以正常執行嗎 ? |
答題得分者是:Chance36
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
有辦法不管網址是否有加上 http 都可以正常執行嗎 ?
謝謝
引言: IdHTTP1.HandleRedirects:=true; try // 不加上 http 會錯誤 // Memo1.Text:=IdHTTP1.Get('www.kimo.com.tw'); Memo1.Text:=IdHTTP1.Get('http://www.kimo.com.tw/'); except on E: EIdHTTPProtocolException do begin Showmessage('EIdHTTPProtocolException'); end; on E: EIdSocketError do begin // Showmessage(E.Message); Memo1.Lines.Add(E.Message); end; end;
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
pcboy2 你好
在還沒找到更好的方法之前,這個你先頂著用吧! Function SmartGet(ih:TIdHttp;AURL:String):string; Begin If Comparetext('http://',Copy(AURL,1,7)) <> 0 Then Begin AURL := 'http://' AURL; End; try Result := ih.Get(AURL); except on E: EIdHTTPProtocolException do begin Result :='EIdHTTPProtocolException'; end; on E: EIdSocketError do begin Result := E.Message; end; End; End; procedure TForm1.BitBtn1Click(Sender: TObject); begin Memo1.Text := SmartGet(idHttp1,'tw.yahoo.com'); end;_______________________________________ 深藍的魚,祝您好運..........連連 |
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
pcboy2 你好 最近也在玩WebBrowser,發現只要在BeforeNavigate2 事件中如下寫幾行程式即可。
procedure TForm1.WBBeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin If Comparetext('http://',Copy(URL,1,7)) <> 0 Then Begin URL := 'http://' URL; End; end;_______________________________________ 深藍的魚,祝您好運..........連連 發表人 - chance36 於 2004/09/22 22:07:35 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |