CURL : 쿠키가 제대로 설정되어 있는지 어떻게 알 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1805214

  •  05-07-2019
  •  | 
  •  

문제

$ckfile = tempnam ("/tmp", "CURLCOOKIE");
$useragent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";

$ch = curl_init ("website.com");
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec ($ch);

웹 사이트는 쿠키를 설정 한 다음 리디렉션합니다. 이 코드로 충분할까요? 쿠키를 제대로 얻지 못하는 것 같습니다. 설정되었는지 확인하려면 어떻게해야합니까? 더 나은 방법, 내가 원하는 쿠키를 알고 있다면 그냥 만들 수 있습니까?

편집 : 내 컬 스크립트가 웹 사이트를 방문합니까? 웹 사이트는 검증을 위해 쿠키를 설정하고 컬 스크립트가 해당 쿠키를 제대로 받고 있는지 확인하고 싶습니다. 테스트가 있는지 알고 싶습니다. 또는 웹 사이트에 대한 검증을 위해 쿠키를 만들 수 있는지 알고 싶습니다.

도움이 되었습니까?

해결책

최근에 서버간에 쿠키를 전달 해야하는 프로젝트가 있었고 두 가지 설정을 발견했습니다. CURLOPT_COOKIEFILE 그리고 CURLOPT_COOKIEJAR 같은 파일에 트릭을 수행했습니다.

원격 사이트의 쿠키가 설정되어 있는지 확인하고 싶다면 CURLOPT_COOKIEJAR 텍스트 편집기에서 파일.

다른 팁

이것이 명령 줄 컬이라면 당신이 던질 것입니다. -v 매개 변수. 시작 라인에주의를 기울이십시오 > Cookie:.

이것의 PHP 버전은 다음과 같습니다.

curl_setopt($ch,CURLOPT_VERBOSE,TRUE);//and set CURLOPT_STDERR to STDOUT

그리고 이것이 브라우저라면 나는 이것들 중 하나로 디버깅 할 것입니다 : 당신은 사용할 수 있습니다. 바이올리니스트 즉, 탬퍼 데이터 또는 파이어 버그 (net) 검사관 인 Firefox에서 크롬에서 그리고 사파리에서,, a 대리 "일반"브라우저에서 양식을 제출하는 방법을 볼 수있는 브라우저를 사용합니다.

PHP의 컬을 사용하도록 설정하면 프록시 접근 방식이 작동 할 수 있습니다.

curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL,TRUE);//& CURLOPT_PROXYPORT CURLOPT_PROXY

하나의 요청에 쿠키를 추가하려면 다음과 같은 줄을 쓸 수 있습니다.

$ch->headers[] = 'Cookie: recent=543..; _session_id=6185..; __utma=572.1.1.1.1; __utmc=572..; __utmz=572.1.1.1.1.utmccn=(referral)|utmcsr=domain.com|utmcct=/request/path|utmcmd=referral';

그러나 나는 그것에 대해 확실하지 않습니다. 이것들은 같은 줄을 따라 더 많이있을 수 있습니다.

curl_setopt($ch,CURLOPT_COOKIE,"recent=543..; _session_id=618..");
// Possibly, but I think this might overwrite other headers.
curl_setopt($ch,CURLOPT_HTTPHEADER, "Cookie: recent=543..; _session_id=6185..");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top