Code: IdHTTP1.Response.RawHeaders.GetText; это не ответ сервера, это заголовок ответа вот ответ: Code: Memo1.Text:=idHTTP1.Get('http://vk.com/login.php?email=ЛОГИН&pass=ПАРОЛЬ');
Вообще-то sid капчи возвращаеться при обращении к http://vk.com/login.php. По крайней мере в браузере так.
Посмотри как идет авторизация через браузер. Одним запросом GET не отвертишься. PS:Обращение методом Post к http://vk.com/login.php, если все норм возвращаеться значение vklogin иначе выдает sid капчи, далее методом post к https://login.vk.com/. Из ответа сервера извлекаем location (url) и обращаемся методом get к нему. Как-то так (нету учетки в vk поэтому с последним пунктом может наврал).
При посылке методом get нельзя получить sid капчи. Его просто нет в возвращаемом контенте. Даже нет никаких указателей, что надо допустим его запросить. Я не знаю как это делает твой скрипт. Выкладывай его сюда, ели не секрет.
Вообщем можно сделать как-то так: перед тем как авторизироваться запросом get, мы посылаем запрос методом post на http://vk.com/login.php. Если возвращаеться значение vklogin значит все норм и можно авторизироваться запросом get. Если возвращаеться значение наподобие такого , то извлекаем sid капчи и запрашиваем её методом get. Далее мы распознаем капчу вручную (ну или с помощью индусов) и отправляем на http://vk.com/login.php определенные данные в Tstringlist. Если в ответ приходи vklogin значит все зашибись и можно ехать дальше. Иначе идем и покупаем себе очки (ну или индусам) и снова делаем запрос методом post к http://vk.com/login.php, то бишь возвращаемся к началу. И в конце можно делать запрос методом get на авторизацию. PS:Если что-то непонятно, то напиши что именно. PSS: Опять привидение на сайте : Здесь присутствуют: 2 (пользователей - 2 , гостей - 0) 2echnoman
Установи HttpAnalyzerStdV5. Затем запусти его и нажми кнопку старт. Далее запусти свой php-скрипт. Снифер начнет отображать http запросы. Псле того как скрипт закончит раборту в HttpAnalyzerStdV5 еажми кнопку stop. Сделай скриншот окна HttpAnalyzer-а, залей его (скриншот) на какой-нибудь хостинг картинок и закинь сюда ссылку на картинку. Получиться что-то наподобие такого:. Это все надо, чтобы посмотреть как авторизируеться твой скрипт.
1) делай то что делает браузер 2) авторизируйся на мобильной версии (а потом, если нужно, переходи на полною) там проще
Сделай пост запросами. Первый пост запрос: HTML: Данные: act=a_login_attempt login=твой логин И это все отправляем на http://vk.com/login.php если все хорошо то ответ будет vklogin, если нет то ответ будет {"ok":-2,"captcha_sid":"362449647211","text":"Enter code"} Берем парсим значние 362449647211 и вытягиваем картинку нашей капчи так http://vk.com/captcha.php?s=1&sid=362449647211 потом ее как-то распознаем. Дальше отправляем новый запрос: Code: Данные: act=a_login_attempt login=твой логин captcha_sid=362449647211 captcha_key=символы на капче И это все отправляем на http://vk.com/login.php И в ответ должны получить vklogin Дальше уже отправляем наши данные для авторизации. Code: Данные: act=login success_url= fail_url= try_to_login=1 to= vk=1 al_test=3 from_host=vk.com from_protocol=http ip_h=нужно спарсить email=твой логин pass=твой пароль expire= И это все отправляем на https://login.vk.com/ И после этого должен у нас появится редирект Ну вот и все, это щас стандартная авторизация через vk.com
1. Отправляем пустой запрос http://vkontakte.ru/login.php?op=a_login_attempt если ответ vklogin то капчи нет и сразу можете читать 3й пункт. 2. Капча. Сервер выдал {"ok":-2,"captcha_sid":"361003254776","text":"Enter code"} дергаем captcha_sid -> 361003254776 Отправляем запрос http://vkontakte.ru/captcha.php?s=1&sid=361003254776. Дергаем тело капчи и отправляем на расшифровку. Когда узнали значение капча отправляем запрос http://vkontakte.ru/login.php?op=a_login_attempt&captcha_sid=361003254776&captcha_key=z9cd и повторяем 3й пункт 3. Отправляем post запрос http://login.vk.com/?act=login (email, pass, expire, vk)