|
|
|
| Надо написать тулз уодну под vkontakte.ru, для начала коненчо надо залогинется, но с этим какие то странные проблеммы, как обычно создаю сокет и передаю его на удаленных хост POST запросом...
<?php
$hostname = "vkontakte.ru";
$email = "EMAIL";
$pass = "PASSWORD";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$data = "email=$email&pass=$pass\r\n\r\n";
$headers = "POST /login.php HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers.$data);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo $line;
?>
|
В ответ получаю страницу о неправлиьном пароле.
Посмотрев html код я вижу такую тему:
<input class="inputText" type="text" name="email" value="EMAIL" id="email" size="25" />
<input class="inputText" type="password" name="pass" value="PASSWORD<br><br>" id="pass" size="25" />
|
К паролю неким образом добавляется <br><br>? Это как возможно? | |
|
|
|
|
|
|
|
для: Бамси
(15.10.2007 в 18:51)
| | 1. Вы же сами приписали в конце символы переноса строки. 2 партии.
2. Обрабатывайте хотя бы urlencode | |
|
|
|
|
|
|
|
для: bronenos
(15.10.2007 в 22:18)
| | Ступил, извеняйте.
Только вот что он мне отвечает:
HTTP/1.1 302 Found
Server: nginx/0.5.30
Date: Mon, 15 Oct 2007 19:25:34 GMT
Content-Type: text/html; charset=windows-1251
Connection: close
X-Powered-By: PHP/5.2.0-8+etch7
Pragma: no-cache
Cache-control: private, must-revalidate
Set-Cookie: remixchk=2; expires=Tue, 14-Oct-2008 19:25:34 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixmid=107294; expires=Tue, 14-Oct-2008 19:25:34 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixemail=user%40mail.ru; expires=Tue, 14-Oct-2008 19:25:34 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixpass=574e6e28ab4eab3f1d7a3aeec69f2729; expires=Tue, 14-Oct-2008 19:25:34 GMT; path=/; domain=.vkontakte.ru
Location: /id407694
Content-Length: 0
|
И все... А где страница? И т.д. | |
|
|
|
|
|
|
|
для: Бамси
(15.10.2007 в 23:28)
| | переадресация
302 Moved Temporarily
Затребованный URI перемещен, но лишь временно. Заголовок Location указывает на новое местонахождение. Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URI, но во всех последующих запросах необходимо пользоваться старым URI.
вам надо после этого сразу создавать второй запрос и включать в нём все эти куки которые вам передают | |
|
|
|
|
|
|
|
для: EXP
(16.10.2007 в 00:04)
| | Передаю след. запрос:
GET /id401194 HTTP/1.1
Host: vkontakte.ru
User-Agent: Opera/9.23 (Windows NT 5.1; U; ru)
Cookie: remixchk=2;
Cookie: remixmid=107294;
Cookie: remixemail=user%40mail.ru;
Cookie: remixpass=574e6e28ab4eab3f1d7a3aeec69f2729;
Connection: Close
|
Иходя из данных получеых в пред. запросе.
Теперь ошибка: "400 Bad Request" | |
|
|
|
|
|
|
|
для: Бамси
(16.10.2007 в 00:51)
| | Нужно 2 запроса : один чтоб получить куку, второй чтоб перейти по указанному адресу и впарить серверу куку. Вообще это проще всего через курл делать там и куки сами по себе сохраняются и обратно шлются и 302 заголовок верно обрабатывается. Если хотите могу продать уже готовый скрипт - работает на 100 процентов (писался для очень солидной конторы). 3wmz. А так алгоритм вроде рассказал. Сам так делал. | |
|
|
|
|
|
|
|
для: mihdan
(16.10.2007 в 01:52)
| | Мне он и даром не нужен, я не хочу покупать, я хочу научиться, что бы впоследующем невозникало таких проблем.
Вообщем я в пред. Неправильно куки слал, вот переделал:
GET /id407694 HTTP/1.1
Referer: http://vkontakte.ru/login.php?u=1
Host: vkontakte.ru
Cookie: remixchk=2; remixmid=102694; remixemail=user%40mail.ru; remixpass=5223e6123128ab6543452d7a7ac69f2729
|
Ему всеровно н енравится: 400 Bad Request | |
|
|
|
|
|
|
|
для: Бамси
(16.10.2007 в 02:20)
| | Попробуй реферер http://vkontakte.ru/login.php | |
|
|
|