2011-09-08 10 views
0

PHP와 cURL을 사용하여 제공된 사용자 자격 증명을 사용하여 웹 사이트에 로그인 할 수 있는지 확인하고 싶습니다. 이를 위해 현재 전체 웹 사이트를 검색하고 정규식을 사용하여 로그인이 작동하지 않는다는 것을 나타내는 키워드를 필터링합니다.cURL URL 주소 만 가져 오기

잘못된 사용자 이름/암호를 입력하면 url 자체에 "errormessage"문자열이 포함됩니다. 콘텐츠를 빠르게하지 않고 URL 주소를 얻기 위해 말리기 만 사용할 수 있습니까? 누군가가이 같은 문제를 처리하는 방법에 대한 좋은 아이디어가있는 경우

function curl_get_request($referer, $submit_url, $ch) 
{ 
    global $cookie_path; 

    // sends a request via curl to the string specifics listed 
    $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)"; 
    curl_setopt($ch, CURLOPT_URL, $submit_url); 
    curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_REFERER, $referer); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_path); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_path); 
    return $result = curl_exec ($ch); 
} 
또한

이, 알려 주시기 바랍니다 :

은 여기 내 컬 PHP 코드입니다!

답변

0

리디렉션이있을 때마다 URL을 확인해야합니다. 대부분의 리디렉션은 적절한 HTTP 헤더로 수행됩니다. , 기본적으로

PHP: cURL and keep track of all redirections

에 따라 자동 재 지정을 해제하고, 301 또는 302의 HTTP 상태 코드를 확인 : 이런 경우,이 답변을 참조하십시오. 그것들 중 하나를 얻는다면, 필요하다면 계속해서 리다이렉션을 따르거나 거기에서 빠져 나올 수 있습니다.

리디렉션이 클라이언트 쪽에서 발생하는 경우 DOM 파서로 페이지를 구문 분석해야합니다.