2015-06-24 4 views
0

Я знаю, что таких вопросов много, но может ли кто-нибудь помочь мне сузить, в чем проблема?php curl не пишет файл cookie

Это мой код:

ini_set("display_errors", 1); 
error_reporting(E_ALL); 
$cookies = 'cookies.txt'; 
$postdatal = array(
    '__VIEWSTATE' => '', // need a __VIEWSTATE, even if it's empty 
    'username' => 'username', 
    'password' => 'password', 
    'button1' => 'Sign+in', // need button1 
    '__VIEWSTATEGENERATOR' => '' // same reason as __VIEWSTATE 
); 

$ch = curl_init(); 

curl_setopt_array( 
$ch, array(
    CURLOPT_URL => 'url', 
    CURLOPT_RETURNTRANSFER => true, // return the results 
    CURLOPT_POST => true, 
    CURLOPT_POSTFIELDS => $postdatal, // send the data 
    CURLOPT_HEADER => true, 
    CURLOPT_COOKIEJAR => $cookies, // set the cookies 
    CURLOPT_COOKIEFILE => $cookies 
)); 

$output = curl_exec($ch); 

echo $output; 

Заголовки возвращаемые имеют три заголовки Set-Cookie. Есть ли способ отладить это? Кажется, я не получаю никаких ошибок, даже если я выбираю недопустимое имя файла (файл cookie.txt представляет собой пустой текстовый файл chmod 777).

+0

Вы можете отлаживать его с помощью Charles Proxy или Fiddler – webo80

+0

Это поможет мне отлаживать, если заголовки отправлены, а не если curl сохраняет файл cookie правильно. – p1xel

ответ

0

Я решил свою проблему: мне нужно было добавить curl_close(), чтобы файл cookie был сохранен.

Смежные вопросы