当前位置:主页>销售管理软件> 列表

已知一个网址,如何获得该网址对应的html源代码?在del 找人事管理软件

销售管理软件版1楼: 已知一个网址,如何获得该网址对应的html源代码?在delphi中如何实现?今天不解决,没饭吃了。。。

2楼: 用WebBrowser控件,先把网址传给WebBrowser,然后在想办法。因为浏览网页时,在本地缓存中都保留文件,在Temporary Internet Files目录中找到该文件即可。
或者直接在WebBrowser上想办法,因为WebBrowser本来就是为浏览html而做的 如人事管理软件

3楼: //html->
function TShowEmailInfoFrm.ShowEmailInfo(EmailStr: WideString): Boolean;
var
htmldocument : ihtmldocument2;
begin
Result:=False;
try
htmldocument := EmailBrower.Document as IHTMlDocument2;
htmldocument.body.innerHTML :=EmailStr;
Result:=True;
except
end;
end;
//->html
function TShowEmailInfoFrm.ShowEmailInfo(): WildString;
var
htmldocument : ihtmldocument2;
begin

try
htmldocument := EmailBrower.Document as IHTMlDocument2;
result:=htmldocument.body.innerHTML ;
except


end;
end;

procedure TShowEmailInfoFrm.FormCreate(Sender: TObject);
begin
EmailBrower.Navigate(''about:blank'');
EmailBrower.Navigate(''你的url'');
end;

4楼: 用idhttp

5楼: function UrlGetStr(const URL: string; ShowHeaders: boolean = false): string;
{--------------获取网页代码函数-----------------}
const
Agent = ''Internet Explorer 6.0'';
var
hFile, HInet: HINTERNET;
Buffer: array[0..32767] of Char;
BufRead: Cardinal;
BufSize: Cardinal;
TempStream: TStringStream;
dwIndex: dword;
begin
HInet := InternetOpen(PChar(Agent), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(HInet) then
try
if LowerCase(Copy(URL,1,7)) <> ''http://'' then
hFile := InternetOpenUrl(HInet, PChar(''http://'' + URL), nil, 0, 0, 0)
else
hFile := InternetOpenUrl(HInet, PChar(URL), nil, 0, 0, 0);
TempStream := TStringStream.Create('''');
dwIndex := 0;
BufSize := SizeOf(Buffer);


HttpQueryInfo(hfile, HTTP_QUERY_RAW_HEADERS_CRLF, @Buffer, BufSize, dwIndex);
if ShowHeaders then TempStream.Write(Buffer, BufSize);
if Assigned(hFile) then
try
with TempStream do
try
while InternetReadFile(hFile, @Buffer, BufSize, BufRead) and (BufRead > 0) do
Write(Buffer, BufRead);
Result := DataString;
finally
Free;
end;
finally
InternetCloseHandle(hFile);
end;
finally
InternetCloseHandle(hinet);
end;
end;

6楼: 用IdHTTP组件应该是最简的,
s: TStringStream;

IdHTTP.Get(''http://www.sohu.com'',s);
ShowMessage(s.DataString);

销售管理软件版7楼: 我刚刚做了一个.很简单的.用IdHttp的Get方法.再用多线程.速度可以很快的.

8楼: 多人接受答案了。