全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1730
推到 Plurk!
推到 Facebook!

【Delphi】【問題】Wininet系列函數無法讀取本機以外的網站的内容長度

尚未結案
LexChou
一般會員


發表:1
回覆:2
積分:0
註冊:2005-07-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-13 14:40:20 IP:61.183.xxx.xxx 未訂閱
我看了網路上的一些代碼,並按照它們的寫法寫了如下代碼,測試本機IIS搭建的伺服器倒是成功了,但是對於其他一些地址,卻無法獲取網葉内容的長度,雖然無法獲取長度,但是卻可以通過InternetReadFile來讀取網葉内容。返回的錯誤代碼12150 (對應的常量為ERROR_HTTP_HEADER_NOT_FOUND)    請大大幫忙解除困惑,謝謝了    代碼如下:
var
  hSession:HINTERNET;
  hConnection:HINTERNET;
  hHTTP:HINTERNET;
  ContentSize:array[1..1024] of char;
  dwSize:DWORD;
  dwIndex:DWORD;
begin
  hSession:=InternetOpen('Mozilla/4.0 (compatible; MSIE 6.0; Win32)',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
  hConnection:=InternetConnect(hSession,'www.google.com' ,INTERNET_INVALID_PORT_NUMBER,nil,nil,INTERNET_SERVICE_HTTP,0,0);
  hHTTP:=HttpOpenRequest(hConnection,'GET','/',HTTP_VERSION,'',nil,INTERNET_FLAG_RELOAD or INTERNET_FLAG_NO_CACHE_WRITE ,0);
  if HttpSendRequest(hHTTP,nil,0,nil,0) then
  begin
    dwSize:=sizeof(ContentSize);dwIndex:=0;
    if HttpQueryInfo(hHTTP,HTTP_QUERY_CONTENT_LENGTH,@ContentSize,dwSize,dwIndex) then
    begin
      ShowMessageFmt('Content Size=%s',[StrPas(@ContentSize)]);
    end
    else
      ShowMessageFmt('Error=%d',[GetLastError]);
  end;
  InternetCloseHandle(hHTTP);
  InternetCloseHandle(hConnection);
  InternetCloseHandle(hSession);
end;
The fullmoon was calling, thou could not sleep Nor find peace in thy grave, thy keep
------
The fullmoon was calling, thou could not sleep Nor find peace in thy grave, thy keep
LexChou
一般會員


發表:1
回覆:2
積分:0
註冊:2005-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-13 16:50:54 IP:61.183.xxx.xxx 未訂閱
似乎看到問題所在了,原來是Web伺服器在傳回來的Header中並沒有加入Content-Length IIS好像都能返回Content-Length 那對於沒有返回Content-Length,一些下載軟件是怎麽得到大小的呢? The fullmoon was calling, thou could not sleep Nor find peace in thy grave, thy keep
------
The fullmoon was calling, thou could not sleep Nor find peace in thy grave, thy keep
Ktop_Robot
站務副站長


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

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


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


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


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

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