Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Сетевые технологии > InternetOpenURL не пашет


Автор: Jin X 14.1.2005, 19:13
1.
Код
var
 IH, UH: HINTERNET;
 Ok: Boolean;
begin
 Ok := False;
 if InternetGetConnectedState(@IH, 0) then
 begin
   IH := InternetOpen('Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
   if IH <> nil then
   begin
     UH := InternetOpenURL(IH, 'http://forum.sources.ru/style_images/NBS-Snow-262/logo4.gif', nil, 0, INTERNET_FLAG_RELOAD, 0);
     if UH <> nil then
     begin
       Ok := True;
       MessageBox(Handle, 'Всё отлично!', 'Уря!', MB_OK or MB_ICONINFORMATION);
       InternetCloseHandle(UH)
     end;
     InternetCloseHandle(IH)
   end
 end;
 if not Ok then MessageBox(Handle, 'Факин шит!', 'Облом!', MB_OK or MB_ICONERROR)
end;
InternetOpenURL выдаёт nil! Бывало, правда, когда работало, но потом вдруг перестало. Что это может быть и как исправить?

Кстати говоря, GetLastError выдаёт какую-то хрень: 2 - ERROR_FILE_NOT_FOUND, а InternetGetLastResponseInfo выдаёт нули и пустую сторку, хотя сама возвращает True smile

Если заменить строку InternetOpenURL на...
Код
     CH := InternetConnect(IH, 'http://forum.sources.ru/', INTERNET_DEFAULT_HTTP_PORT, nil, nil, INTERNET_SERVICE_HTTP, 0, 0);
     if CH <> nil then UH := HttpOpenRequest(CH, nil, '/style_images/NBS-Snow-262/logo4.gif', nil, nil, nil, INTERNET_FLAG_RELOAD, 0);
(разумеется, с соответствующими добавлениями переменных и т.д), то всё пашет! Почему ж не пашет InternetOpenURL?! smile

И ещё пара вопросов:

2. Почему при открытии через HttpOpenRequest файл не читается:
Код
InternetReadFile(UH, @S, 1024, i)
Возвращает True, но i=0.
Файл же не пустой и существует!

3. Почему...
Код
HttpSendRequest(UH, 'Range: bytes=50-99', DWord(-1), nil, 0)
возвращает False? smile

- Thanks!

p.s. Firewall ни причём...

Автор: RA 21.5.2005, 16:26
Jin X
Всё работает, быть может проблема с функцией InternetGetConnectedState

Посмотри что выдаёт параметр "IH":


INTERNET_CONNECTION_MODEM = 1;
{$EXTERNALSYM INTERNET_CONNECTION_MODEM}
INTERNET_CONNECTION_LAN = 2;
{$EXTERNALSYM INTERNET_CONNECTION_LAN}
INTERNET_CONNECTION_PROXY = 4;
{$EXTERNALSYM INTERNET_CONNECTION_PROXY}
INTERNET_CONNECTION_MODEM_BUSY = 8;

Автор: Guest 22.5.2005, 10:36
да но если мы заменим:
InternetOpenURL(IH, 'http://forum.sources.ru/style_images/NBS-Snow-262/logo4.gif', nil, 0, INTERNET_FLAG_RELOAD, 0);

var sUrl:string;

InternetOpenURL(IH, PChar(sUrl), nil, 0, INTERNET_FLAG_RELOAD, 0) - то
result = nil

если sUrl ну к примеру читается из файла


Автор: Guest 24.5.2005, 15:13
ну да как там с файлом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)