2012-02-02 3 views
1

컬을 사용하여 페이지에 로그인하려고합니다. 로그인이 성공하면 실제 사이트로 리디렉션되고 거기에 콘텐츠가 표시됩니다.PHP 쿠키를 사용하여 로그인하는 중

기본적으로 2 개의 URL이 있습니다. 첫 번째 URL은 로그인 자격 증명을 게시하고 다른 URL은 로그인 후 콘텐츠가 표시되는 URL입니다.

로그인 URL에 게시물 요청을 보내면 유효한 쿠키가 성공적으로 만들어 지지만 쿠키를 사용하여 두 번째 URL의 페이지 내용을 보는 방법을 알 수 없습니다.

페이지 2의 내용을 검색하기 위해이 두 가지 옵션을 사용하여 일반적인 컬 요청 (코드에서 POSTFIELDS 제외)을 시도하고 있지만 소스를 보면 그냥 리디렉션 할 html 코드 만 표시합니다. 로그인 URL.

curl_setopt($ch1, CURLOPT_COOKIEJAR, 'cookie.txt'); 
curl_setopt($ch1, CURLOPT_COOKIEFILE, 'cookie.txt'); 

내가 잘못하고있는 것에 대한 아이디어가 있습니까?

+0

좀 더 코드는 유용 할 것이다. – flesk

+0

아래의 답변에있는 설명을 참조하십시오. – Kartik

답변

0

는 CURL 요청에 더 많은 매개 변수를 추가하려고 : 모두 요청에 일의 수는이 문제의 원인이 될 수 있기

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$string = curl_exec ($ch); 
curl_close ($ch); 
+0

현재이 모든 것이 있지만 URL에 전달하면 반환되는 콘텐츠는 로그인 페이지로 리디렉션되는 html 코드입니다. 쿠키가 전달되지 않았 음을 의미합니다. 이것이 내가 혼란스러워하는 이유입니다 – Kartik

+0

액세스하려고하는 사이트를 제공하는 것이 더 낫습니다. 테스트를 수행하고 올바른 대답으로 되돌아 갈 수 있습니다. – Ashraf

+0

방금 ​​처음 로그인 할 때 붙여 넣기 한 정확한 코드를 사용 중입니다. 거기에 귀하의 코드는 쿠키를 완벽하게 설정합니다. 이제는 콘텐츠를 표시하기 위해이 쿠키가 필요한 페이지의 콘텐츠를 가져 오려고합니다. 나는 당신에게 URL을 줄 것이지만 당신이 그걸로 로그인 자격 증명을 얻을 수 없기 때문에 어디서나 그것을 얻을 수 없습니다. – Kartik

관련 문제