Hi,
ich möchte den Quelltext eines Yahoo Searchquerys (oder wie man das nennt^^) auslesen...
Als Speicherort nehme ich ein PChar, wo ich 50000 Bytes an Speicher reserviere.
Leider liest InternetReadFile immer nur 3383 Bytes aus..
Von vielen Versuchen hat es bisher nur einmal geklappt. ó_Ò
Liegt es vielleicht an meinem Code?
Delphi-Quellcode:
procedure GetSearchResult(lpValue: String);
const
bufSize = 50000;
var
hNet: Pointer;
hNetUrl: Pointer;
pBuf: PChar;
dwBytesRead: Cardinal;
begin
Getmem(pBuf, bufSize);
hNet := InternetOpen('inet.agent', 0, nil, nil, 0);
if hNet <> nil then
begin
hNetUrl := InternetOpenUrl(hNet, PChar('http://de.search.yahoo.com/search?p=' + lpValue + '&fr=yfp-t-501&ei=UTF-8&rd=r1'), nil, 0, INTERNET_FLAG_NEED_FILE, 0);
if hNetUrl <> nil then
begin
if InternetReadFile(hNetUrl, pBuf, bufSize, dwBytesRead) = true then
begin
showmessage(inttostr(dwBytesRead));
form1.memo1.text := strpas(pBuf);
end;
InternetCloseHandle(hNetUrl);
end;
InternetCloseHandle(hNet);
end;
FreeMem(pBuf, bufSize);
end;
GetSearchResult('Irgendwas');
Danke im Vorraus für Hilfe.
Edit: Habe es nun selbst hinbekommen.
MSDN lesen hilft. -.-
MfG: sk0r