2013-06-07 3 views
2

У меня есть два файла: A.php и B.php.Как получить Cookies в запросе CURL с помощью PHP?

Содержание A.php:

<?php 
$ch = curl_init(); 
curlsetopt($ch,CURLOPT_URL,'localhost/b.php'); 
curl_exec($ch); 
?> 

Содержание из B.php:

<?php 
print_r($_COOKIE); 
?> 

это не печать COOKIES при загрузке A.php, но печать при загрузке b.php непосредственно. пожалуйста, помогите спасибо

+0

Вы не печатает результат в 'A.php'. –

+0

Поскольку вы не указали cookie перед выполнением cURL? – Passerby

+0

Когда вы загружаете 'B.php' из своего браузера, любые файлы cookie будут сохранены/прочитаны в вашем сеансе локального браузера. При загрузке 'B.php' через cURL через' A.php', 'B' будет искать файлы cookie в сеансе браузера, чем сделать запрос (' cURL' на 'localhost'), а не сеансом локального браузера. – keithhatfield

ответ

1

cURL запросы не отправляют файлы cookie по умолчанию. Если вы хотите передать все $_COOKIE с от сценария A.php к b.php сделать это:

<?php 

$cookie = array(); 

foreach ($_COOKIE as $key => $value) { 
    $cookie[] = "{$key}={$value}"; 
}; 

$cookie = implode('; ', $cookie); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'localhost/b.php'); 
curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
curl_exec($ch); 
Смежные вопросы