После миграции сайта из xampp в IIS, Curl не сохраняет содержимое Cookiefile, но может сгенерировать файл - PullRequest
0 голосов
/ 12 июня 2019

Я искал это в Google, но все ссылки ссылаются на то, что curl не может сохранить файл, но в моем случае все по-другому, curl сохраняет файл правильно, но содержимое отображается только так, как вы видите:

# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

--- no cookie contents here ---- only header ----

У меня этот сайт работает в Xampp и все работает. когда я мигрировал в IIS, единственная проблема, которая у меня возникла, заключается в том, что curl не сохраняет содержимое файлов cookie в файле.

Понятия не имею, что я сделал не так.

//Initiate cURL.
$ch = curl_init($url);
//The JSON data.
$jsonData = array(
    'login' =>  $login,
    'password' =>  $password,
    'idioma' =>  $idioma,
    'server' =>  $server,
    'sistema' =>  $sistema
);


//Encode the array into JSON.
$jsonDataEncoded = json_encode($jsonData);

//curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');

curl_setopt($ch, CURLOPT_COOKIEJAR, "C:\cookies\cookieFile.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "C:\cookies\cookieFile.txt");


//Tell cURL that we want to send a POST request.
curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//Attach our encoded JSON string to the POST fields.
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);


//Set the content type to application/json
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 


//Execute the request
$data=curl_exec($ch);

if ($data) {
//var_dump($data);



}else
{
    echo "Não foi possível abrir o Sistema no Serviço Eticadata";
}
curl_close($ch);

Чтобы убедиться, что я получаю файлы cookie заголовков, я добавил это

curl_setopt($ch, CURLOPT_HEADER, 1); 

Это в ответе, когда я var_dump Data

HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/10.0 Set-Cookie: ASP.NET_SessionId=ke2s2lf0mkdbqlcfbghrqgg5; path=/; HttpOnly X-AspNet-Version: 4.0.30319 Set-Cookie: .eti_ASPXAUTH=5DE2B541B7CCE00C4356B3D0D9CA0D82C9819A5EB9E915924913DCB3B7FB511D6A27026CECC878FD295B1E8F262B53A8A9F9946318BEEE4C0487ED9F9B64547451EDC9D2C4458A8FEECFEABBD24EE0CF2DD2FCD80B4C3931622309DB443E35066A71B8C01A160F4DDA5FE8594E4C7DD6E62B2D55EB25FCCC9C1C7F304F3285E0; path=/; HttpOnly Set-Cookie: eti_sessionInfo=YwBzAHcAcwBxAGwAXABjAG8AbQBwAHUAcwCnAFMAaQBzAHQAZQBtAGEAQwBTAFcApwBDAFMAVwCnAEUAeAAgADIAMAAxADkApwAxAKcAUABUAC0AUABUAA==; path=/ X-Powered-By: ASP.NET Date: Wed, 12 Jun 2019 15:27:01 GMT Content-Length: 56350

Но, глядя на C: \ cookies \ cookieFile.txt, его содержимое:

# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

И внутри нет печенья.

Редактировать

Вот многословный локон

* upload completely sent off: 106 out of 106 bytes
< HTTP/1.1 200 OK
< Cache-Control: no-cache
< Pragma: no-cache
< Content-Type: application/json; charset=utf-8
< Expires: -1
< Server: Microsoft-IIS/10.0
* cookie 'ASP.NET_SessionId' dropped, domain 'cswsql' must not set cookies for 'cswsql'
< Set-Cookie: ASP.NET_SessionId=khdalre2kjro4usbaq4co33c; path=/; HttpOnly
< X-AspNet-Version: 4.0.30319
* cookie '.eti_ASPXAUTH' dropped, domain 'cswsql' must not set cookies for 'cswsql'
< Set-Cookie: .eti_ASPXAUTH=75524EDA1707527A449A395913EDB222D37F40171D44037CA430958BD2F24BF90C2975461F57F58EC6A6E0450ACD98AE64092B13CCDAA73E4CE7207AA2CE834688CBD4113C82AFAB4F513FC2DEFFCEF34496FF47896BCF8BBB3424FD6F6F8F1593B7869E2647AEB82F9D6CD89B2E939E38036D4A94635072996E88528225E793; path=/; HttpOnly
* cookie 'eti_sessionInfo' dropped, domain 'cswsql' must not set cookies for 'cswsql'
< Set-Cookie: eti_sessionInfo=YwBzAHcAcwBxAGwAXABjAG8AbQBwAHUAcwCnAFMAaQBzAHQAZQBtAGEAQwBTAFcApwBDAFMAVwCnAEUAeAAgADIAMAAxADkApwAxAKcAUABUAC0AUABUAA==; path=/
< X-Powered-By: ASP.NET
< Date: Thu, 13 Jun 2019 14:09:21 GMT
< Content-Length: 56350
< 
* Connection #0 to host cswsql left intact
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...