PHP curl пост для входа в WordPress - PullRequest
0 голосов
/ 17 января 2011

Я использую php curl для входа в WordPress за кулисами, как описано здесь: WordPress автологин с использованием CURL или fsockopen в PHP

Однако мой скрипт не устанавливает необходимые файлы cookieсохранить сеанс WordPress.Вместо этого они отправляются обратно в мой сценарий и хранятся в файле cookies.txt.

И сценарий curl, и логин WordPress находятся на одном сервере в разных каталогах.

Нужно ли мне писатьдругой сценарий curl, чтобы вручную установить куки WordPress?Это возможно?

Ответы [ 2 ]

0 голосов
/ 19 января 2011

Мне нужно, чтобы куки отправлялись в браузер, а не обратно в мой скрипт curl.Скрипт curl был запущен PHP-скриптом, запущенным в браузере.

Я решил проблему следующим образом:

  1. Добавил эти параметры в объект curl:

    curl_setopt ($ ch, CURLOPT_HEADER, 1);curl_setopt ($ ch, CURLOPT_HEADERFUNCTION, 'read_header');

  2. Добавлены функции php под названием read_header, которые анализируют данные cookie

  3. Используется setcookie() для ручной установки файлов cookie

Если кому-то нужны подробности, пожалуйста, оставьте комментарий.

0 голосов
/ 17 января 2011

Если вы просто используете опубликованный код, то он не будет работать, потому что последующие запросы не будут отправлять файлы cookie обратно на каждый запрос.Добавление curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); должно помочь (ну, по крайней мере, так будет, если куки действительно сохранятся сейчас - иначе посмотрите на разрешения) - хорошо, в зависимости от того, каков ваш сценарий использования в любом случае.

Вы также можете проверить 10 удивительных вещей, которые можно сделать с помощью cURL , для некоторых интересных примеров использования curl (пример 4 может быть именно тем, что вы ищете).

Кстати, если этот сценарий предназначен для нескольких (одновременный) пользователи, вы не должны использовать статическое имя файла, но создайте временный файл для каждого пользователя.

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