Главная страница
    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-1325799180
Gu
2012-01-06 01:33
2012.05.06
опции компилятора


15-1325449802
Юрий
2012-01-02 00:30
2012.05.06
С днем рождения ! 2 января 2012 понедельник


1-1292143528
Дмитрий С
2010-12-12 11:45
2012.05.06
"Заморозить" TWebBrowser на время перезагрузки страницы


2-1325856082
Gu
2012-01-06 17:21
2012.05.06
messagebox


15-1325361710
Anatoly Podgoretsky
2012-01-01 00:01
2012.05.06
С Новым Годом





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский