Как я могу сделать cURL, чтобы получить все файлы cookie?
Я подумал, что возможно Firefox получает разные файлы cookie при загрузке страницы, или у него есть какой-то встроенный javascript, который устанавливает некоторые файлы cookie после загрузки страницы, или, может быть,он перенаправляет на другие страницы, и другие страницы устанавливают другие файлы cookie, но я не знаю, как заставить curl делать то же самое.Я установил curl, чтобы следовать перенаправлениям, но все еще безуспешно.Curl устанавливает некоторые куки, но не все.
Ниже приведен код, который я использую в php:
$url = 'https://www.example.com';
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_COOKIESESSION, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($handle, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($handle, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($handle, CURLOPT_AUTOREFERER, true);
curl_setopt($handle, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
$htmlContent = curl_exec($handle);
Ниже приведен заголовок Live HTTP в Firefox
https://www.example.com
GET /index.ext HTTP / 1.1
Хост: www.example.com Пользовательский агент: Mozilla / 5.0 (Macintosh; U; Intel Mac OS X 10.6;ru-ru; rv: 1.9.2.10) Gecko / 20100914 Firefox / 3.6.10
Принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, / ; q = 0,8
Accept-Language: en-us, en; q = 0,5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7
Keep-Alive: 115
Соединение: keep-alive
Cookie: JSESSIONID = 3E85C5D0436D160D0623C085F68DC50E.catalog2;__utma = 137925942.1883663033.1299196810.1299196810.1299198374.2;__utmz = 137925942.1299196810.1.1.utmcsr = (прямой) | utmccn = (прямой) | utmcmd = (нет);citrix_ns_id = 0pQdumY48kxToPcBPS / QQC + w2vAA1;__utmc = 137925942
HTTP / 1.1 200 OK
Дата: пт, 04 марта 2011 01:20:30 GMT
Сервер: Apache / 2.2.15
Keep-Alive: тайм-аут = 5, макс = 100
Соединение: Keep-Alive
Transfer-Encoding: chunked
Тип содержимого: текст / html; кодировка= UTF-8
Я получаю JSESSIONID только с curl
Пожалуйста, помогите!