Вход в AliBaba.com программно - PullRequest
1 голос
/ 19 марта 2012

Я пытаюсь выяснить, как войти на сайт https://login.alibaba.com, используя PHP и CURL. Я использую код ниже, но он не работает. Как бы вы посоветовали мне автоматически зайти на этот сайт?

Мой текущий код:

<?
$cookie = "cookie.txt";
// set global curl options
$curloptions = array(
        CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6',
        CURLOPT_TIMEOUT => 60,
        CURLOPT_COOKIEJAR => $cookie,
        CURLOPT_COOKIEFILE => $cookie,
        CURLOPT_REFERER => 'http://www.alibaba.com'
);

// set userinfo
$username = 'xxxxxxxxxxx';
$password = 'xxxxxxxxxxx';

// clear cookie.txt (fresh session)
$handle = fopen($cookie, 'w');
fclose($handle);

// make a dummy request to generate a session
curl_http_request('https://login.alibaba.com', $curloptions);

// login
curl_http_request('https://login.alibaba.com', 
    array(
        CURLOPT_POSTFIELDS => 'xloginPassport=' . $username . '&xloginPassword=' . $password . '&noCsrfToken=&xloginCheckToken=&rememberme=&runatm=',
        CURLOPT_POST => TRUE
    ), $curloptions
);

//example request
echo curl_http_request('https://login.alibaba.com', 
    array(
        CURLOPT_FOLLOWLOCATION => TRUE,
        CURLOPT_RETURNTRANSFER => TRUE
    ), $curloptions
);

function curl_http_request ($url, $moreoptions = array(), $options = array())
{
    foreach ($moreoptions as $k => $v) $options[$k] = $v;
  $handle = curl_init($url);
  curl_setopt_array($handle, $options);
  ob_start();
  $buffer = curl_exec($handle);
  ob_end_clean();
  curl_close($handle);
  return $buffer;
}
?>

1 Ответ

0 голосов
/ 19 марта 2012

Они используют какой-то метод генерации токена при входе в систему, поэтому, если вы не знаете, как его сгенерировать, просто используйте их веб-вход.

Вот типичный запрос на вход в систему выглядит следующим образом:

https://login.alibaba.com/xman/xlogin.js?pd=alibaba&pageFrom=standardlogin&u_token=Bf0323500b707423d50c96aae931e204b&xloginPassport=andreaswongg70&xloginPassword=10fd852ff6603865cf632b59d935e56b&dmtrack_pageid=ca1b1fe2cdcc700d4f66917813628a849a71fcca49

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...