Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.04.2012, 10:21
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию http и Indy

Добрый день, уважаемые.
Прошу помочь нужно с IP камеры сохранять картинку в определённый момент времени. Для картинки есть http запрос вида:
Код:
http://ip:port/cgi-bin/jpg/image.cgi?
Делаю программку:
Код:
procedure SaveJPG;
var
  test, datstr: String;
  rcvrdata: TMemoryStream;
begin
  rcvrdata := TMemoryStream.Create;
  IdHTTP1.Request.Username := 'admin';
  IdHTTP1.Request.Password := '*****';
  IdHTTP1.Get(AddressEdit.Text, rcvrdata);
  if rcvrdata.Size > 0 then
      rcvrdata.SaveToFile(FileEdit.Text+'\111.jpg');
   rcvrdata.Free;
end;
Если в AddressEdit подставляешь запрос с камеры. То создается файлик размером 1кб. В котором ни чего нет. Если на какой нить другой jpg из weba то он его спокойно сохраняет. В чем загвоздка может быть? Кто подскажет?

Заранее благодарю.
Ответить с цитированием
  #2  
Старый 03.04.2012, 14:14
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию

выдает ошибку:
HTTP/1.1 401 Unauthorized
Ответить с цитированием
  #3  
Старый 03.04.2012, 14:28
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Ну потому что вы не авторизовались.. мб сначала POST запросом пройти авторизацию стоит ?
Ответить с цитированием
  #4  
Старый 03.04.2012, 14:45
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию

Ну я понимаю что не пройдена авторизация, я просто не пойму, я же задал
Код:
  IdHTTP1.Request.Username := 'admin';
  IdHTTP1.Request.Password := '*****';
Почему он их не применяет?
Ответить с цитированием
  #5  
Старый 04.04.2012, 12:01
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию

кое-что подправил. Вышла новая ошибка:
Код:
var
  test, datstr: String;
  rcvrdata: TMemoryStream;
  Data  : TStringList;
begin
    Data:= TStringList.Create;
    rcvrdata := TMemoryStream.Create;
    IdHTTP1.Request.Username := 'admin';
    IdHTTP1.Request.Password := '******';
    Data.Add('user=admin');
    Data.Add('password=******');
    try
      test := IdHTTP1.Post(AddressEdit.Text,Data);
      except on Exception do Memo1.Lines.Text:= idHttp1.Response.RawHeaders.GetText ;
    end;
end;
unknowMethod 400 BadRequest
а в Мемо вывело вот это:
Код:
www-Authenticate: Basic realm = "MegapixelIPCamera"
Content length: 192
Ответить с цитированием
  #6  
Старый 05.04.2012, 00:53
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

А вы уверены что там именно user,password поля?
Ответить с цитированием
  #7  
Старый 05.04.2012, 06:28
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от ApxaHGe1
А вы уверены что там именно user,password поля?
Нет. Подскажи как узнать бы это?
Ответить с цитированием
  #8  
Старый 05.04.2012, 11:26
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Через снифер любой... посмотрите что отправляет в ПОСТДАТЕ когда авторизацию проходите
Ответить с цитированием
  #9  
Старый 06.04.2012, 11:10
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию

Порекомендовать можешь что-нибудь? А то лабуды много в и-нете.
Ответить с цитированием
  #10  
Старый 06.04.2012, 12:44
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

wireshark-win32-1.6.6.exe
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо NumLock за это полезное сообщение:
ApxaHGe1 (06.04.2012), lro (09.04.2012)
  #11  
Старый 09.04.2012, 11:50
lro lro вне форума
Прохожий
 
Регистрация: 26.08.2010
Сообщения: 10
Репутация: 10
По умолчанию

Спасибо!
Вот что выдал снифер:
Код:
GET http://IP/cgi-bin/jpg/image.cgi? HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*
Accept-Language: ru
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Accept-Encoding: gzip, deflate
If-Modified-Since: Mon, 19 Mar 2012 10:02:32 GMT
If-None-Match: "32d-3142-61a00"
Connection: Keep-Alive
Host: IP
Authorization: Basic YWRtaW46MjQ2ODEzNTc=
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter