Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2012.05.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.002 c
2-1326089711
Псарь
2012-01-09 10:15
2012.05.06
Свой Event Log.


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


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


2-1326037158
toropoff
2012-01-08 19:39
2012.05.06
скрол грида


15-1325104202
Юрий
2011-12-29 00:30
2012.05.06
С днем рождения ! 29 декабря 2011 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский