Здравствуйте. Пишу на delphi. До этого никогда не работал с хттп, поэтому ламерский вопрос: Пытаюсь залогиниться на почтовике Code: '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; В ответ приходит: А судя по снифферу должно приходить: Логин и пароль верный. Кому не сложно, накидайте пожалуйста код для залогивания. Мне нужно залогиниться и получить исходный код страницы, но у меня ничего не получается. Если что логин и пароль: a4at
А ты попробуй открыт RFC по HTTP или чуть напряч мозги. Он же тебе пишет - HTTP/1.1 302 Found и Location: http://mail.namba.kz/inbox.php т.е. страница найдена и пишет куда тебе далее перейти. Но скорее всего тут логика такая: 1) заходиш на http://mail.namba.kz/inbox.php Там устанавливаются куки тебе. 2) Используя эти куки посылаеш POST запрос 3) смотри что будет. там может бы страница а может быть тоже редирект
Такой ответ я получил из сниффера(который срабатывает правильно), а не из своей проги. Во своей я получаю Location: https://login.namba.kz/login.php Мож с https по другому надо работать?
может он хочет чтобы авторизация шла тоже через HTTPS? ты в снифере погляди как идет код авторизации. в открытом виде или по https
Да там обычная авторизация... Ничего не понимаю %) Откройте мне глаза!!!11 А при попытке туда пролезть так: Code: params:=TStringList.Create; responseres:=TStringList.Create; params.Add('login=a4at'); params.Add('password=a4at'); responseres.Text:=http1.Post('login.namba.kz/login.php',params); Получаю:
Сниффер... Когда юзал httpAnalyzer то запросы которые шли по https просто выпадали, и создавалось такое ощущение что вроде-бы https соединения и не было, фактически же именно авторизация проходила через https, хотя и для пользователя она происходила прозрачно, и если смотреть логи сниффера то тоже вроде как бы все шло только по http, так что мой совет - попробуй заюзать wireshark , он тебе покажет и https запросы, тогда и увидишь как это на самом деле происходит. P.S. У Яши такая долбаная авторизация...
после ""PostData+#13#10"" больше ничего не должно быть. HTTP/1.1 замени на 1.0 Бред сморозил, сори. Там идет работа полностью через SSL - так что OpenSSL в руки =) З.Ы. подкинул задачку, вот сижу библиотеки SSL компилю
Не правильно создаешь POST запрос. После PostData ничего не должно идти. То есть, правильнее было бы записать последние строчки так: Code: 'Content-Type: application/x-www-form-urlencoded' + #13#10 + 'Content-Length: ' + IntToStr(Length(PostData)) + #13#10 + 'Connection: close' + #13#10#13#10 + PostData;