Php 以编程方式登录阿里巴巴网站
我试图弄清楚如何使用PHP和CURL登录到该网站。我正在使用下面的代码,但它似乎不起作用。您建议我如何自动登录此网站 我当前的代码:Php 以编程方式登录阿里巴巴网站,php,curl,Php,Curl,我试图弄清楚如何使用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/20070
<?
$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;
}
?>
他们在登录时使用一些令牌生成方法,因此除非您知道如何生成相同的令牌,否则只需使用他们的web登录即可 下面是一个典型的登录请求:
好的,很酷,谢谢。我该如何存储cookie,以便运行脚本并看到我登录?我的答案不是关于cookie,但每次登录尝试时都会生成一个唯一的令牌,因此,除非您能够在脚本运行时猜到令牌,只需坚持web登录。好吧,它不允许我登录…我不断得到结果:var xlogin_failed={“error_type”:“非法密码”,“check_token”:“no”}如果您有很好的理由以编程方式访问它们,可能最好联系它们并询问它们是否提供支持的API访问。比试图绕过防护系统要好得多,防护系统显然是专门为阻止你想做的事情而开发的……你让它工作了吗?我在找sameis有什么办法吗?它们可以防止机器人或蜘蛛爬行和下载数据。