获取http://www.xtzrc.cn/job_55764.html网页全是乱码本帖最后由 yyy520 于 2011-10-28 19:50:25 编辑func
获取http://www.xtzrc.cn/job_55764.html网页全是乱码
本帖最后由 yyy520 于 2011-10-28 19:50:25 编辑
function TForm1.GetWebPage_s(const Url: string): string;
var
Session,
HttpFile: HINTERNET;
szSizeBuffer: Pointer;
dwLengthSizeBuffer: DWord;
dwReserved: DWord;
dwFileSize: DWord;
dwBytesRead: DWord;
Contents: PChar;
begin
szSizeBuffer := nil; //初始化
Session := InternetOpen('Mozilla/4.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil,
0);
HttpFile := InternetOpenUrl(Session, PChar(Url), nil, 0, 0, 0);
dwLengthSizeBuffer := 24;
HttpQueryInfo(HttpFile, HTTP_QUERY_CONTENT_LENGTH, szSizeBuffer,
dwLengthSizeBuffer, dwReserved);
GetMem(Contents, dwFileSize);
InternetReadFile(HttpFile, Contents, dwFileSize, dwBytesRead);
InternetCloseHandle(HttpFile);
InternetCloseHandle(Session);
Result := StrPas(Contents);
FreeMem(Contents);
end;
获取http://www.xtzrc.cn/job_55764.html网页源码是乱码 不管什么网页都能通过这个函数读取出来不是乱码 ,麻烦各位兄弟们帮我们改一下。
[解决办法]两种原因,部分乱码是编码的原因,全部乱码就是压缩了
[解决办法]memo1.Text := UTF8Decode(IdHTTP1.Get('http://www.xtzrc.cn/job_55764.html'));
UTF-8编码,转换一下就OK了
[解决办法]procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Memo1.Text :=Utf8ToAnsi(GetWebPage_s(Edit1.Text));
end;
function TForm1.GetWebPage_s(const Url: string): string;
var
Session,
HttpFile: HINTERNET;
szSizeBuffer: Pointer;
dwLengthSizeBuffer: DWord;
dwReserved: DWord;
dwFileSize: DWord;
dwBytesRead: DWord;
Contents: PChar;
begin
szSizeBuffer := nil; //初始化
Session := InternetOpen('Mozilla/4.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil,
0);
HttpFile := InternetOpenUrl(Session, PChar(Url), nil, 0, 0, 0);
dwLengthSizeBuffer := 24;
HttpQueryInfo(HttpFile, HTTP_QUERY_CONTENT_LENGTH, szSizeBuffer,
dwLengthSizeBuffer, dwReserved);
GetMem(Contents, dwFileSize);
InternetReadFile(HttpFile, Contents, dwFileSize, dwBytesRead);
InternetCloseHandle(HttpFile);
InternetCloseHandle(Session);
Result := StrPas(Contents);
FreeMem(Contents);
end;
[解决办法]Memo1可能放在里面是乱码 保存文件不一定是的 我以前也出现过
你可以用Utf8ToAnsi转下判断一下网页的编码最好