![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinInet [D7, WinXP]
sloosar © (2009-10-15 19:02:00)Доброго времени суток.
У меня такой вопрос:
Вот функция для сохранения HTML кода страницы
function GetUrl(const URL: String): String;
const
HTTP_PORT = 80;
Header = 'Content-Type: application/x-www-form-urlencoded' + sLineBreak;
var
FSession, FConnect, FRequest: HINTERNET;
FHost, FScript: String;
Ansi: PAnsiChar;
Buff: array [0..1023] of Char;
BytesRead: Cardinal;
begin
Result := '';
// Небольшой парсинг
// вытаскиваем имя хоста и параметры обращения к скрипту
FHost := DelHttp(Url);
FScript := Url;
Delete(FScript, 1, Pos(FHost, FScript) + Length(FHost));
// Инициализируем WinInet
FSession := InternetOpen('DMFR',PRE_CONFIG_INTERNET_ACCESS , nil, nil,
INTERNET_FLAG_RELOAD);
//FSession := InternetOpen('DMFR',INTERNET_OPEN_TYPE_PROXY ,'74.140.232.74:8085', nil, 0);
if not Assigned(FSession) then Exit;
try
// Попытка соединения с сервером
FConnect := InternetConnect(FSession, PChar(FHost), HTTP_PORT, nil,
'HTTP/1.0', INTERNET_SERVICE_HTTP, 0, 0);
if not Assigned(FConnect) then Exit;
try
// Подготавливаем запрос страницы
Ansi := 'text/*';
FRequest := HttpOpenRequest(FConnect, 'GET', PChar(FScript), 'HTTP/1.0',
'', @Ansi, INTERNET_FLAG_RELOAD, 0);
if not Assigned(FConnect) then Exit;
try
// Добавляем заголовки
if not (HttpAddRequestHeaders(FRequest, Header, Length(Header),
HTTP_ADDREQ_FLAG_REPLACE or
HTTP_ADDREQ_FLAG_ADD)) then Exit;
// Отправляем запрос
if not (HttpSendRequest(FRequest, nil, 0, nil, 0)) then Exit;
// Получаем ответ
FillChar(Buff, SizeOf(Buff), 0);
repeat
Result := Result + Buff;
FillChar(Buff, SizeOf(Buff), 0);
InternetReadFile(FRequest, @Buff, SizeOf(Buff), BytesRead);
until BytesRead = 0;
finally
InternetCloseHandle(FRequest);
end;
finally
InternetCloseHandle(FConnect);
end;
finally
InternetCloseHandle(FSession);
end;
end;
Может кто подскажет почему не сохраняется код с таким урлом :
http://www.google.com.ua/#q=fff
sloosar (2009-10-15 21:18:00) [1]О точно, чёт я затупил :-)
Медвежонок Пятачок (2009-10-15 20:18:00) [2]потому что
http://www.google.com.ua/search?q=fff