cURL не будет запускать setcookie - PullRequest
0 голосов
/ 14 января 2012

У меня есть скрипт cURL, который отправляет информацию для входа в скрипт.

//open connection
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url;
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields1);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
//open connection

В скрипте есть функция setcookie.

setcookie("cookie_email",$email,time()+(3600*24*$i),"/");
setcookie("cookie_password",$password,time()+(3600*24*$i),"/");

Когда я вхожу в форму, используя форму, все работает как положено. По какой-то причине, когда вы запускаете cURL, он пропускает функцию setcookies.

Я был в сети и не могу найти решение. Я не уверен, почему он не может установить куки.

Любой шаг в правильном направлении будет высоко ценится.

Спасибо, Фил

UPDATE! - Становится ближе

Хорошо, я внес некоторые изменения, которые захватывают файлы cookie и помещают их в файл cookie. Две проблемы, которые я поставил.
1. Приготовленный пароль в файле гласит: удалено 2. Файлы cookie не устанавливаются в браузере.

Как мне получить md5 ($ пароль) в файл и как: curl_setopt ($ ch, CURLOPT_COOKIEFILE, 'cookies / cookies.txt'); установить куки в браузере?

1 Ответ

2 голосов
/ 14 января 2012

Вы должны установить параметры CURL_COOKIEJAR и CURL_COOKIEFILE для curl, чтобы указать, где файлы cookie должны храниться и загружаться соответственно.

РЕДАКТИРОВАТЬ: Ваш пример переписан:

//open connection
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url;
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/cookies.txt');

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

Это предполагает, что у вас естьсоздала каталог 'cookies /' и сохранит файлы cookie в файл с именем 'cookies.txt' (если ваш веб-сервер может выполнять запись в этот каталог, он будет сам создавать файл)

Затем последующие запросы будутиспользовать любые куки-файлы, хранящиеся в файле cookies.txt, при отправке их запроса (при условии, что вы также установили Cookiefile для этого запроса)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...