PDA

Просмотр полной версии : При попытке залогиниться посылает


s0l_ir0n
02.09.2009, 09:59
Здравствуйте. Пишу на delphi.
До этого никогда не работал с хттп, поэтому ламерский вопрос:
Пытаюсь залогиниться на почтовике
'POST /login.php HTTP/1.1'+ #13#10 +
'Host: login.namba.kz'+ #13#10 +
'User-Agent: Monkey/7.1 (MacOS; N; eu; lv:2.9) MRA 5.5 (build 02842);'+ #13#10 +
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+ #13#10 +
'Accept-Language: ru,en-us;q=0.7,en;q=0.3'+ #13#10 +
'Accept-Encoding: gzip,deflate'+ #13#10 +
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
'Keep-Alive: 300'+ #13#10 +
'Connection: keep-alive'+ #13#10 +
'Referer: https://login.namba.kz/login.php'+ #13#10 +
'Content-Type: application/x-www-form-urlencoded'+ #13#10 +
'Content-Length: ' + IntToStr(Length(PostData)) + #13#10#13#10 + PostData+#13#10+'Connection: close' + #13#10#13#10;
В ответ приходит:
HTTP/1.1 302 Found
Date: Wed, 02 Sep 2009 05:58:21 GMT
Server: Apache
X-Powered-By: PHP/5.2.9
Set-Cookie: PHPSESSID=mrlqummq1jk9pbg1mm1; path=/; domain=.namba.kz
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
Location: https://login.namba.kz/login.php
Content-Length: 32
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
А судя по снифферу должно приходить:
HTTP/1.1 302 Found
Date: Wed, 02 Sep 2009 05:09:32 GMT
Server: Apache
X-Powered-By: PHP/5.2.9
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
Location: http://mail.namba.kz/inbox.php
Content-Length: 30
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

http://mail.namba.kz/inbox.php

Логин и пароль верный.
Кому не сложно, накидайте пожалуйста код для залогивания. Мне нужно залогиниться и получить исходный код страницы, но у меня ничего не получается.
Если что логин и пароль: a4at

slesh
02.09.2009, 10:18
o_O А ты попробуй открыт RFC по HTTP или чуть напряч мозги.
Он же тебе пишет - HTTP/1.1 302 Found и Location: http://mail.namba.kz/inbox.php
т.е. страница найдена и пишет куда тебе далее перейти.
Но скорее всего тут логика такая:
1) заходиш на http://mail.namba.kz/inbox.php
Там устанавливаются куки тебе.
2) Используя эти куки посылаеш POST запрос
3) смотри что будет. там может бы страница а может быть тоже редирект

s0l_ir0n
02.09.2009, 10:22
Он же тебе пишет - HTTP/1.1 302 Found и Location: http://mail.namba.kz/inbox.php

Такой ответ я получил из сниффера(который срабатывает правильно), а не из своей проги. Во своей я получаю Location: https://login.namba.kz/login.php
Мож с https по другому надо работать?

slesh
02.09.2009, 10:30
может он хочет чтобы авторизация шла тоже через HTTPS?
ты в снифере погляди как идет код авторизации. в открытом виде или по https

s0l_ir0n
02.09.2009, 10:46
Да там обычная авторизация...
Ничего не понимаю %) Откройте мне глаза!!!11

А при попытке туда пролезть так:
params:=TStringList.Create;
responseres:=TStringList.Create;
params.Add('login=a4at');
params.Add('password=a4at');
responseres.Text:=http1.Post('login.namba.kz/login.php',params);
Получаю:
Socket Error # 10061
Connection refused.

akahaos
02.09.2009, 14:19
responseres.Text:=http1.Post('http://login.namba.kz/login.php',params);

login999
02.09.2009, 14:35
Сниффер... Когда юзал httpAnalyzer то запросы которые шли по https просто выпадали, и создавалось такое ощущение что вроде-бы https соединения и не было, фактически же именно авторизация проходила через https, хотя и для пользователя она происходила прозрачно, и если смотреть логи сниффера то тоже вроде как бы все шло только по http, так что мой совет - попробуй заюзать wireshark , он тебе покажет и https запросы, тогда и увидишь как это на самом деле происходит.
P.S. У Яши такая долбаная авторизация...

POS_troi
02.09.2009, 15:25
после ""PostData+#13#10"" больше ничего не должно быть.

HTTP/1.1 замени на 1.0

Бред сморозил, сори.

Там идет работа полностью через SSL - так что OpenSSL в руки =)

З.Ы. подкинул задачку, вот сижу библиотеки SSL компилю

Chrome~
02.09.2009, 19:12
'POST /login.php HTTP/1.1'+ #13#10 +
'Host: login.namba.kz'+ #13#10 +
'User-Agent: Monkey/7.1 (MacOS; N; eu; lv:2.9) MRA 5.5 (build 02842);'+ #13#10 +
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+ #13#10 +
'Accept-Language: ru,en-us;q=0.7,en;q=0.3'+ #13#10 +
'Accept-Encoding: gzip,deflate'+ #13#10 +
'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'+ #13#10 +
'Keep-Alive: 300'+ #13#10 +
'Connection: keep-alive'+ #13#10 +
'Referer: https://login.namba.kz/login.php'+ #13#10 +
'Content-Type: application/x-www-form-urlencoded'+ #13#10 +
'Content-Length: ' + IntToStr(Length(PostData)) + #13#10#13#10 + PostData+#13#10+'Connection: close' + #13#10#13#10;
Не правильно создаешь POST запрос. После PostData ничего не должно идти. То есть, правильнее было бы записать последние строчки так:
'Content-Type: application/x-www-form-urlencoded' + #13#10 +
'Content-Length: ' + IntToStr(Length(PostData)) + #13#10 +
'Connection: close' + #13#10#13#10 +
PostData;

Gar|k
02.09.2009, 20:45
Chrome~ капетан ачевидность )))