2015-07-13 2 views
1

В настоящее время я пытаюсь получить мой сеанс и cookie с парового входа.Steam curl login - get cookie + sessionid (несколько запросов?)

Когда я вхожу в систему вручную и проверяю сетевые ответы, я могу видеть информацию, которая мне нужна. Он расположен в основном в dologin/

http://imgur.com/a/ZFwAQ - первое изображение getrsakey/ и второе изображение dologin/

На втором изображении я отметил, что мне нужно с красной коробке. Я думаю, мне просто нужен browserid и steamMachineAuth.

$url = "https://steamcommunity.com/login/getrsakey/"; 
$params = ['username' => "MyUsername", 'password' => "MyPassword"]; 

$cookie_jar = tempnam('/tmp', 'cookie'); 

$session = curl_init($url); 

curl_setopt($session, CURLOPT_POST, true); 
curl_setopt($session, CURLOPT_POSTFIELDS, $params); 
curl_setopt($session, CURLOPT_HEADER, 1); 
curl_setopt($session, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($session, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($session, CURLOPT_TIMEOUT, 30); 
curl_setopt($session, CURLOPT_MAXREDIRS, 10); 
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($session, CURLOPT_COOKIEJAR, $cookie_jar); 

$response = curl_exec($session); 
die(var_dump($cookie_jar)); 
curl_close($session); 

С выше завитком, похоже, я получаю только getrsakey/ статистика по очевидным причинам. Я попытался сделать второй запрос завитка с cookiejar я сделал, а затем запросить dologin/, но все, что я получаю обратно есть

"{"success":false}bool(true)}"

TLDR: Мне нужен BrowserId и steamMachineAuth от dologin/ - См. ссылку выше (второе изображение), в основном, весь файл cookie, если это возможно.

ответ

0

Я знаю, что через некоторое время после того, как вопрос был добавлен, но я думаю, что кому-то может понадобиться ответ.

Как вы сказали, вам необходимо сделать второй запрос dologin/, но не с cookiejar Вы сделали.

Прежде всего, когда Вы отправляете запрос на getrsakey/ Вам нужно только имя пользователя параметр (пароль не требуется).

Чем в ответ Вы получаете RSA ключ, который Вам нужно зашифровать свой пароль, используя метод RSA (ключ делится на ключ модуля и ключевого показателя).

RSA зашифрованного пароль должен быть закодирован с base64 и это пароля параметра Вы отправить dologin/

Но, к сожалению ПАРЫ могут получить Captcha код и/или SteamGuard код, если учетная запись защищен, поэтому вам также необходимо реализовать это.

У меня нет рабочего кода PHP, но вы можете заглянуть в скрипт SteamBot на C# и написать свой код на его основе. Поиск Dologin метод в SteamWeb.cs файл: https://github.com/Jessecar96/SteamBot/blob/master/SteamTrade/SteamWeb.cs#L88

Смежные вопросы