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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2009, 18:58   #1
OkeaH
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 12
Вопрос Хитрая авторизация на сайте метод post

Подскажите пожалуйста как авторизоваться на сайте hh.ru
Выдает ошибку "HTTP/1.1 405 Not Allowed." Компонент ТIdCookieManager1
на форме есть и связан с IdHTTP1.
При просмотре HTML кода страницы не нашел элементов action.x=6 и action.y, но при просмотре* отправляемого запроса они есть:

Код:
POST /logon.do username=job-333%40ya.ru&password=999999&action.x=6&action.y=11&remember=on
Впрочем на ошибку это никак не влияет что они есть в коде отправляемого запроса что их нет. Что это могут быть за элементы и как они попадают в запрос? судя по всему они передают координаты от поля пароля.

*через дополнение "Просмотр HTTP заголовков к FireFox

Код программы.
Код:
var
list: TStringList;
begin
 list := TStringList.Create;

  list.Add('username=job-333@ya.ru');
  list.Add('password=999999');
  list.Add('action.x=6');
  list.Add('action.y=11');
     list.Add('remember=on');
  try
 memo1.lines.text := IdHTTP1.Post('http://hh.ru/logon.do',list);
 memo1.Lines.SaveToFile('aaa.htm');
WebBrowser1.Navigate(extractfilepath(application.exename)+'aaa.htm');


  finally

    list.Free;
    IdHTTP1.Disconnect;
  end;
Действующий логин и пароль job-333@ya.ru 999999 (тестовый аккаунт)
OkeaH вне форума Ответить с цитированием
Старый 10.01.2009, 19:03   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
<form action="/logon.do" method="post"><div class="b-loginform"><div class="b-loginform-header"><div class="b-loginform-header-left">*</div><div class="b-loginform-header-right">*</div><div class="b-loginform-header-center">вход</div></div><div class="b-loginform-body"><div class="b-loginform-inputs"><label class="b-loginform-input"><span>логин (e-mail)</span><input type="text" name="username" tabindex="2" /></label><label class="b-loginform-input"><span>пароль</span><input type="password" name="password" tabindex="3" /></label></div><div class="b-loginform-forgot"><a href="/rememberPassword.do">Забыли пароль?</a></div><div class="b-loginform-submit"><input type="image" name="action" src="http://i.hh.ru/i/hh-classic/roundbutton.gif" tabindex="5" /></div><div class="b-loginform-remember"><label for="remember_id"><input type="checkbox" name="remember" tabindex="4" value="on" id="remember_id" /><span>запомнить</span></label></div><div class="b-register" id="RegisterBlockContainer"><a onclick="var block = document.getElementById('RegisterBl ockContainer'); block.className = 'b-register' + (block.className == 'b-register' ? ' b-register-expand' : '');return false;" href="/publication.do?publicationId=1847" class="b-register-switcher"><span>Зарегистрироваться</span></a><ul class="b-register-body"><li class="b-register-item b-new-applicant"><a href="/applicant/new.do">Кандидат</a></li><li class="b-register-item b-new-resume"><a href="/applicant/new.do">Разместить<br/>резюме</a></li><li class="b-register-item"><a href="/newEmployer.do">Работодатель</a></li><li class="b-register-item"><a href="/newEmployer.do?agency=true">Кадрово е агентство</a></li></ul></div></div><div class="b-loginform-footer"><div class="b-loginform-footer-right">*</div></div></div></form>
кроме uername и password в форме, вроде, ничего не присутствует

Проверил, да, действительно есть еще какая- то проверка. Какая именно вы вряд ли узнаете. Авторизация происходит внутри Java bean.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи

Последний раз редактировалось mihali4; 27.02.2009 в 20:46. Причина: Объединение постов
Квэнди вне форума Ответить с цитированием
Старый 10.01.2009, 19:13   #3
OkeaH
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 12
По умолчанию

Нет в форме еще есть:
Код:
input type="checkbox" name="remember" tabindex="4" value="on" id="remember_id" /><span>запомнить</span>.
но это никак не влияет сейчас побывал передать только логин и пароль и все равно выдает 405 ошибку. Как бы от нее избавится?
Т.е. пробывать программно авторизоваться бесполезно?
OkeaH вне форума Ответить с цитированием
Старый 11.01.2009, 22:27   #4
Misho0k
 
Регистрация: 20.05.2008
Сообщений: 8
По умолчанию

Мне кажется нужно передавать парамерт 'Referer' => "http://hh.ru/"
Misho0k вне форума Ответить с цитированием
Старый 12.01.2009, 18:56   #5
DHK
 
Регистрация: 12.01.2009
Сообщений: 8
По умолчанию

вставлю свои 5 копеек в обсуждение, а можете предоставить что отправляет броузер при ручном вводе информации?
DHK вне форума Ответить с цитированием
Старый 15.01.2009, 01:53   #6
OkeaH
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 12
По умолчанию

Misho0k
Да рефер я указывал.

DHK
При ручном вводе передается следующая строка
Код:
POST /logon.do username=job-333%40ya.ru&password=999999&action.x=6&action.y=11&remember=on
OkeaH вне форума Ответить с цитированием
Старый 15.01.2009, 02:34   #7
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

OkeaH, версия Indy какая?
У меня твой код, даже без указания refferer нормально работает. Остается вручную обрабатывать только.
Ответ
Цитата:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="refresh" content="5;url=http://hh.ru/applicant/vacancyResponses.do?firstPageAfterL ogon=true"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Пожалуйста, подождите...</title>
<script>
var HHID = {};
HHID.redirect = function() {
window.location = decodeURIComponent(/redirect=(.+)/.exec(window.location)[1]);
}
window.setTimeout(HHID.redirect, 5000);
</script>
</head>
<body onload="HHID.redirect()">
<p>Пожалуйста, дождитесь авторизации...</p>
<noscript>
<p>Если Вы видите эту страницу более 10-и секунд, перейдите по <a href="http://hh.ru/applicant/vacancyResponses.do?firstPageAfterL ogon=true">этой ссылке</a></p>
</noscript>
<div style="display:none;">
<iframe src="http://hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://hh.ua/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://vip.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://spb.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://headhunter.com.kz/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://hh.by/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe> <iframe src="http://career.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://rostov.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://kazan.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://ural.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://samara.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://nn.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://voronezh.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://krasnodar.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://novosibirsk.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://krasnoyarsk.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://yaroslavl.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://livehh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://planetahr.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://joblist.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://edu.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
<iframe src="http://ka.hh.ru/settoken.gif?token=NDI5NTE0OToxMjMz MTg1NTcyNjMwOjQ0OTNhOTk4YjM5ZThmY2Y zOTdjYTMxNTFiMzNhYjQz&remember=true "></iframe>
</div>
</body>
</html>
Denager вне форума Ответить с цитированием
Старый 15.01.2009, 11:38   #8
OkeaH
Пользователь
 
Регистрация: 10.01.2009
Сообщений: 12
По умолчанию

Denager
Т.е. у тебя проходит авторизация?
delphi 7 Indi 9.00.10. плюс из-за этой ошибки поставил delphi 9 там тоже выдает эту же 405 ошибку.
OkeaH вне форума Ответить с цитированием
Старый 27.02.2009, 19:49   #9
Olzhik
 
Регистрация: 27.02.2009
Сообщений: 4
По умолчанию

у меня похожая ситуация вот я заполнил форму а как теперь нажать "Зарегистрировать". какая функция???
Olzhik вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на сайте gusluk Работа с сетью в Delphi 3 20.11.2008 14:40
Авторизация на сайте vladimirzzz Работа с сетью в Delphi 7 28.09.2008 21:59
Получение каптчи. Метод POST и еще... Denager Работа с сетью в Delphi 13 03.02.2008 19:44