以编程方式登录AliBaba.com
我想弄清楚如何使用PHP和CURL登录到网站https://login.alibaba.com。我正在使用下面的代码,但它似乎并没有工作。你会如何推荐我自动登录到这个网站?以编程方式登录AliBaba.com
我当前的代码:
<?
$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;
}
?>
他们正在使用的登录一些象征性的产生方法,所以,除非你知道如何产生一样的,只是使用他们的网站的登录。
下面是一个典型的登录请求的样子:
好的很酷谢谢我将如何存储cookie,以便我可以运行我的脚本,它会看到我登录? – 2012-03-19 02:30:22
我的答案不是关于cookie,而是他们在每次登录尝试时都会生成一个唯一的令牌,所以除非您可以在该时间点您的脚本正在运行时猜测令牌,否则只需执行Web登录即可。 – 2012-03-19 02:31:28
好吧,它不允许我登录...我一直得到结果:var xlogin_failed = {“error_type”:“illegal_password”,“check_token”:“no”} – 2012-03-19 02:36:35
正统剧访问或? – 2012-03-19 02:11:56
如果您有充分的理由以编程方式访问它们,最好联系他们并询问他们是否提供受支持的API访问权限。比试图绕开显然是专门为了阻止你想要做的事情而开发的保护更好... – 2012-03-19 03:54:06
你是否得到它的工作?即时寻找相同的 – 2012-11-28 12:57:29