2011-08-11 3 views
-2

사이트에서 사용되는 로그인 양식은 /login.php?action=process이며 POST를 사용합니다. 어떻게하면 내 사용자 이름과 암호로 로그인하는 php로 무언가를 작성하기 시작할 것입니다. 그 다음 나는 기어 가기를 계속할 것이고, 내가 필요로하는 정보를 얻을 것이다.프로그래밍 방식으로 비밀번호로 보호 된 웹 사이트에 액세스

공급 업체 전자 상거래 상점의 정보를 모니터링/업데이트하여 재고 및 가격이 내 사이트에 유지되도록합니다. 감사!

+1

처음 시도해 보셨습니까? 아니면 전체 코드를 원하십니까? – random

+1

'curl'을 사용합니다. – zzzzBov

+0

나는 당신이 무엇을 구하려고하는지 전혀 모른다. – Nemanja

답변

1
$loginUrl = 'http://www.remote_site.com/login.php?action=process'; 
$loginFields = array('username' => 'username', 'password' => 'password'); 

getUrl($loginUrl, 'post', $loginFields); 
//now you're logged in and a session cookie was generated 

$remote_page_content = getUrl('http://www.remote_site.com/some_page.php'); 


    function getUrl($url, $method='', $vars='') { 
    $ch = curl_init(); 
    if ($method == 'post') { 
     curl_setopt($ch, CURLOPT_POST, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); 
    } 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); 
    $buffer = curl_exec($ch); 
    curl_close($ch); 
    return $buffer; 
    } 

로그인 페이지에서 상점 시스템이 (일종의) xt : 상거래라고 가정합니다. 그것은 제품 정보를 CSV로 내보내는 기능을 가지고 있기 때문에, 블로그에 언급 된대로, CSV를 이메일로 보내서 사이트를 '크롤링'하려고 시도해야합니다.

관련 문제