IdHttp的Get方法报"HTTP/1.1 404 Bad Request"错 |
缺席
|
rainbow57
一般會員 發表:2 回覆:3 積分:1 註冊:2008-09-18 發送簡訊給我 |
我写了一个函数,传入参数是网络地址,使用idhttp的get方法取得该网址的源代码。
原来在Turbo Delphi2006中使用正常。 后来做了两个变动: 1、调用的代码写到了线程里面。 2、用了Delphi2010(最新的测试版)编译了一下。 之后就报错:HTTP/1.1 404 Bad Request 我的网络没问题,传入的网址,断点以后,拷贝到IE的地址栏里面也可以正常访问,但为什么会报这个错呢? 是Delphi2010/Delphi2009的Indy跟之前的版本有什么不同,还是idhttp不能在线程里面写? 下面是这个函数的代码 function GetWebPage(const Url: string): string; var idHttp: TIdHTTP; begin idHttp := TIdHTTP.Create(nil); try Result := idHttp.Get(Url); except on E:Exception do begin WriteStrToFile(GetCurrentDir '\Log.txt', E.Message); idHttp.Disconnect; idHttp.Free; end; end; idHttp.Disconnect; idHttp.Free; end; |
rainbow57
一般會員 發表:2 回覆:3 積分:1 註冊:2008-09-18 發送簡訊給我 |
沒有人碰到過類似的問題嗎?
我目前可以確定的是,最新的Delphi版本裏面的Indy是Indy10,這個問題也不是因為線程才會這樣。 我新做了一個窗口,將放一個Memo控件、一個Idhttp控件,一個按鈕。屬性均是delphi默認的。 按鈕的Click事件中只有一行代碼: Memo1.Lines.Text:=idhttp1.Get(Url); 這樣得到的結果,也是上面的那個錯誤。看來訪問我指定的網頁要設置什麽參數。 Url為http://mail.qq.com時,能正確執行,Url為http://hq.sinajs.cn/list=sh000001,sz399001 時,就報錯(樓上的那個Http1.1 Bad Request錯誤)。 麻煩懂的高手指導一下偶。 |
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
rainbow57
一般會員 發表:2 回覆:3 積分:1 註冊:2008-09-18 發送簡訊給我 |
|
rainbow57
一般會員 發表:2 回覆:3 積分:1 註冊:2008-09-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |