2013-05-23 1 views
0

먼저 반환 및 PhilSurgeon의 CodeIgniter의 컬 사용되지 않는 : 나는 컬과 다른 도메인에서 응답 헤더에서 설정 - 쿠키를 얻으려고 http://philsturgeon.co.uk/code/codeigniter-curlCURLOPT_HEADER 모든 HTTP 쿠키 내가 CodeIgniter를 사용하고 모든

합니다. 당신이 볼 수 방화범을 사용하여

Set-Cookie: sess=1; path=/; expires=Fri, 24-May-2013 01:58:10 GMT; domain=.adnxs.com; HttpOnly 
Set-Cookie: icu=ChIItcsCEAoYASABKAEwsu_1jAUQsu_1jAUYAA..; path=/; expires=Wed, 21-Aug-2013 01:58:10 GMT; domain=.adnxs.com; HttpOnly 
Content-Type: text/xml 
Set-Cookie: anj=Kfu=8fG1aPCxrx)0s]#%2LcYUiWd4r$[-T_g+2'ti*zYQaYhJGno9P8*w:M5Uy0Hg2:=*oU[fy9; path=/; expires=Wed, 21-Aug-2013 01:58:10 GMT; domain=.adnxs.com; HttpOnly 

그러나이 url에서

4 세트 - 쿠키 헤더 응답

Set-Cookie:icu=ChIItcsCEAoYBSAFKAUwhND1jAUQhND1jAUYBA..; path=/; expires=Wed, 21-Aug-2013 00:51:16 GMT; domain=.adnxs.com; HttpOnly 
Set-Cookie:anj=Kfu=8fG1aPDYS3+0s]#%2LcYUiWd4r$[-T_g+2'thuA$jWEA)yIwtO#ou!><v1GC]*h)%B*hFeR*i`[email protected]_hN>8<=/=PpF>B2sEM:U9)Egw$gpK<rU3V2sTQBPSK2CBFmAZ4fxWRa/zdHI[^``z>tsw['ZH`CLcww-vV^ufhcR)XmgkjKre#dUU5QfVO.L4fG9GFBu=<jK(f6singv3mi%6gt$7LnUry9e#5x9U`r72%WaCxZpz7-]WIMUV)VDDCc<SUs06To>Gz$A>!A#UF?AH^u[Op<V1s>I#n[aDEPs:sNe8^J#UA<zF-Jik)[email protected]>xP$yFLD=::tzzS/UTdX!C/=v7)6Fp'>c:%:rUn#/mTw`N#7U9(rwFXkmv^qM'0_QMX_jew(sDj(>[email protected](Y%hCGZ`WDyVH>**Uy08b!:1hy:3!?k; path=/; expires=Wed, 21-Aug-2013 00:51:16 GMT; domain=.adnxs.com; HttpOnly 
Set-Cookie:uuid2=3617392369395966810; path=/; expires=Wed, 21-Aug-2013 00:51:16 GMT; domain=.adnxs.com; HttpOnly 
Set-Cookie:sess=1; path=/; expires=Fri, 24-May-2013 00:51:16 GMT; domain=.adnxs.com; HttpOnly 

난을 누락이 있습니다 : 코드는 다음과

$url = 'http://ib.adnxs.com/ptv?id=1403122&size=1x1'; 

$this->curl->create($url); 
$this->curl->http_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8'); 

$options = array(CURLOPT_HEADER => 1); 
$this->curl->options($options); 
$vast= $this->curl->execute(); 

echo "<pre>"; print_r($vast); 

반환 이하 가장 중요한 쿠키는 Set-Cookie : uuid2입니다. URL을 말리는 방법에 대한 코드에 문제가 있습니까? 아니면 일부 컬 매개 변수가 누락 되었습니까?

답변

0

CURLOPT_HEADER는 모든 쿠키를 보내도록 모두 헤더를 보냅니다. 브라우저와 다른 컬 (curl)로 된 머리말/쿠키 세트를 얻는다면 다른 세트를 얻으므로 정말입니다!

쿠키 집합이 다른 이유는 여러 가지가있을 수 있지만 가장 일반적인 이유는 단순히 서버가 사용자의 컬 요청이 브라우저와 같다고 생각하지 않기 때문입니다. 그러면 다른 쿠키 집합 이 경우. HTTP 요청을 브라우저 요청과 유사하게 만들면 문제를 해결할 수 있으므로 서버가 차이점을 발견하기가 더 어려워집니다.

+0

시도했지만 요청에 http 헤더를 추가했지만 여전히 동일한 결과가 나타납니다. 나는 set-cookie uuid2를 얻을 수 없다. 이것은 정말로 나를 괴롭 히고있다. T__T –

-1

서버에 권한이 필요합니다. Firebug로 이루어진 요청을 포함하여 모든 브라우저의 요청은 인증 플래그가 설정된 세션을 사용합니다. 그러나 귀하의 스크립트는 승인되지 않았으므로 (다른 세션을 사용하므로) uuid2 값을 얻지 못합니다.

관련 문제