2012-03-19 5 views
1

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; 
} 
?> 
+0

합법적 인 액세스 나 :

여기에 일반적인 로그인 요청이있어 같이 보인다? –

+1

프로그래밍 방식으로 액세스하는 것이 좋은 이유가 있다면 API에 액세스 할 수 있는지 문의하십시오. 분명히 당신이하고 싶은 일을 막기 위해 특별히 개발 된 보호 장치를 해킹하려고 시도하는 것보다 훨씬 낫습니다 ... –

+0

작동 시키셨습니까? 동일한 –

답변

0

같은를 생성하는 방법을 알고하지 않는, 그래서 그들은, 로그인에 대한 몇 가지 토큰 생성 방법을 사용하고, 그냥 자신의 웹 로그인을 사용합니다.

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

+0

알았어, 고마워. 내 스크립트를 실행할 수 있도록 쿠키를 어떻게 저장할 수 있니? –

+0

내 대답은 쿠키에 관한 것이 아니라 모든 로그인 시도마다 고유 한 토큰 생성을 사용하므로 스크립트가 실행 중일 때 토큰을 추측 할 수 없으면 웹 로그인에만 충실하십시오. –

+0

글쎄요, 로그인을 허용하지 않습니다 ... 결과가 계속 나타납니다 : var xlogin_failed = { "error_type": "illegal_password", "check_token": "no"} –

관련 문제