Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.05.06;
Скачать: CL | DM;

Вниз

WinInet   Найти похожие ветки 

 
sloosar ©   (2009-10-15 19:02) [0]

Доброго времени суток.
У меня такой вопрос:
Вот функция для сохранения 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


 
Медвежонок Пятачок ©   (2009-10-15 20:18) [1]

потому что
http://www.google.com.ua/search?q=fff


 
sloosar ©   (2009-10-15 21:18) [2]

О точно, чёт я затупил :-)



Страницы: 1 вся ветка

Текущий архив: 2012.05.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
2-1325903132
Gu
2012-01-07 06:25
2012.05.06
имена функций длл


15-1324526689
И. Павел
2011-12-22 08:04
2012.05.06
Сайт, сделанный на ucoz.ru


15-1324920220
Dimka Maslov
2011-12-26 21:23
2012.05.06
Опаньки!


2-1325799180
Gu
2012-01-06 01:33
2012.05.06
опции компилятора


2-1325846321
Марат
2012-01-06 14:38
2012.05.06
Как открыть лист Excel