Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2007, 21:12   #1
key'
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 15
По умолчанию Авторизация c Indy HTTP

Подскажите как сделать авторизацию на http
вот с таким хедером:

=================================== ======================
GET /client/images/1.gif HTTP/1.0
Accept: */*
Referer: http://192.168.0.1/client/client.php
Accept-Language: ru
Cookie: какие-то куки
If-Modified-Since: Sat, 22 Nov 2006 19:18:01 GMT; length=43
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)
Host: 192.168.0.1
Authorization: Basic что-то=)
Connection: Keep-Alive
=================================== ======================

При этом приходиться постоянно через раз 6 иногда больше, править куки

Код:
=================================== ======================
idhttp1.Request.BasicAuthentication :=true;
idhttp1.Request.Username:='name';
idhttp1.Request.Password:='pass';
str:=de.Get('http://192.168.0.1/client/client.php');
да еще в свойствах Request в CustomHead указываю куки
без них авторизация не проходит...
=================================== ======================

Вопрос:
Как выполнить авторизацию не меняя руками постоянно куки?
key' вне форума Ответить с цитированием
Старый 06.10.2007, 01:48   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Autorization: Basic zzz
где zzz - закодированнная через Base64 пара логин:пароль, то есть,
при логине admin и пароле pass, поле Autorization будет выглядеть так:
Autorization: Basic YWRtaW46cGFzcw==

а куки тут особо не при чем - это уже дело скрипта.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 15:26   #3
key'
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 15
По умолчанию

если я без куков указываю в свойствах Request в CustomHead Autorization: Basic то происходит ошибка авторизации
Да и еще вопрос как закодированнная через Base64 пара логин:пароль =) (а то я просто отлавливаю нависскопом хедер и оттуда вытаскиваю)

Последний раз редактировалось key'; 06.10.2007 в 15:30.
key' вне форума Ответить с цитированием
Старый 06.10.2007, 15:30   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Как именно у вас выглядит ПОСТ-запрос? Покажите дамп.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 15:31   #5
key'
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 15
По умолчанию

SkyM@n давай я в аську тебе стукну ? =)
key' вне форума Ответить с цитированием
Старый 06.10.2007, 15:39   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Не стоит, так как это форум, где и в других может быть похожая проблема. Если мы пообщаемся в аське, то в следующий раз мне что, хистори выкладывать? :D
Рекоммендую показать свой пост запрос. Без адреса хоста.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 16:02   #7
key'
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 15
По умолчанию

запрос гет

User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2
Accept=text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language=ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding=gzip,deflate
Accept-Charset=windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive=300
Connection=keep-alive
Cookie=login_attempts=1191671759; PHPSESSID=9de6af9977f9aa7c9cdfa9d80 277d794
Authorization=Basic dXBzdHB1czo0OTQyMzE=

Ответ сервера

Status=OK - 200
Date=Sat, 06 Oct 2007 12:00:20 GMT
Server=Apache/1.3.34 (Unix) PHP/4.4.4
X-Powered-By=PHP/4.4.4
Expires=Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control=no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma=no-cache
Set-Cookie=login_attempts=1191672020
Keep-Alive=timeout=15, max=100
Connection=Keep-Alive
Transfer-Encoding=chunked
Content-Type=text/html; charset=WINDOWS-1251
key' вне форума Ответить с цитированием
Старый 06.10.2007, 16:08   #8
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Во-первых, это не GET, а POST.
Во-вторых, ответ 200 - все ок.
SkyM@n вне форума Ответить с цитированием
Старый 06.10.2007, 16:09   #9
key'
Пользователь
 
Регистрация: 08.08.2007
Сообщений: 15
По умолчанию

страно а мозила пишет метод get
key' вне форума Ответить с цитированием
Старый 06.10.2007, 16:10   #10
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Если броузером выходит авторизоваться, а данным компонентом - нет, тады уверен, что при использовании последнего у тебя такой же дамп, как и в мазиле?
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11
Indy 9 против Indy 10 OrdJONY Свободное общение 2 08.11.2008 20:28
Авторизация SQL Server antoni БД в Delphi 3 07.08.2008 19:34
Авторизация justas Работа с сетью в Delphi 0 21.12.2007 16:16
Авторизация NTLM для доступа к интранет-ресурсу (http). Евгений Буторин Работа с сетью в Delphi 0 01.03.2007 14:14