Мой Curl скрипт не работает больше (так что имейте в виду, он сделал работу раньше) на моем локальном хосте (так он работает на моем внешнем хосте, следовательно: это может быть настройки сервера):cURL больше не устанавливает cookie, но почему?
Этот скрипт работал отлично до моего локального хоста (он все еще работает на моем хосте). Ничего не изменилось.
- Возможно, факт, что я запускал этот скрипт более 3000 раз на моем локальном хосте, полезно знать.
- Я работаю на Windows 7, используя WampServer для установки хоста.
- Возможно, я изменил настройку, которая влияет на написание файлов cookie. Но какой?
REAL PROBLEM: cURL не устанавливает печенье! Какие модули apache должны быть включены для написания файлов cookie (в .txt-файле)? Я запускаю wampserver.
Пожалуйста, обратите внимание, я уже использую:
curl_setopt($curlTable, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curlTable, CURLOPT_COOKIEFILE, 'cookie.txt');
И php.ini является:
extension=php_curl.dll is uncommented
- Боковой вопрос: ли curl_close незадана печенье? И если параметр cookiejar не установлен?
- Главный вопрос:. Почему doens't локон написать печенье, как он должен делать (и делает на моем внешнем хосте, а не на моем LOCALHOST
Другая информация:
phpinfo()
curl
cURL support enabled
cURL Information 7.21.7
Age 3
Features
AsynchDNS Yes
Debug No
GSS-Negotiate Yes
IDN No
IPv6 Yes
Largefile Yes
NTLM Yes
SPNEGO No
SSL Yes
SSPI Yes
krb4 No
libz Yes
CharConv No
Protocols dict, file, ftp, ftps, gopher,
http, https, imap, imaps, ldap, pop3,
pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
Host i386-pc-win32
SSL Version OpenSSL/0.9.8r
ZLib Version 1.2.5
libSSH Version libssh2/1.2.7
В настоящее время с помощью:
preg_match('/name="csrf" value="(.*?)"/', $getTokenCurlData, $token);
$postFields = array(
'user' => $userNum,
'paswoord' => $userPass,
'login' => 'loginform',
'csrf' => $token[1]);
// 'user='.$userNum.'&paswoord='.$userPass.'&login=loginform&csrf='.$token[1]
$postData = http_build_query($postFields);
$curlTable = curl_init();
curl_setopt($curlTable, CURLOPT_URL, 'link');
curl_setopt($curlTable, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($curlTable, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($curlTable, CURLOPT_ENCODING, 'gzip');
curl_setopt($curlTable, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlTable, CURLOPT_POST, true);
$tableData = curl_exec($curlTable);
if (!$tableData) echo 'post problem?'.$tableData;
if ($tableData == false)
{
echo 'Curl error: ' . curl_error($curlTable);
}
curl_close($curlTable);
// Here I further process my data.
/var/log/apache/errors.log, что он говорит? Или если вы заходите в журнал. Включить ошибки отображения в PHP – Layke
Ничего особенного ... Нет ошибок. – SuperSpy
Откуда вы знаете, что это не работает. Какой бит не работает? – Layke