Я использую веб-сервис от провайдера, который немного слишком помогает предугадывать мои потребности. Они дали мне HTML-фрагмент для вставки на мой сайт, чтобы пользователи могли нажимать на них, чтобы активировать свои сервисы. Я бы предпочел написать сценарий этого процесса, поэтому у меня есть php-скрипт, который отправляет запрос cURL на тот же URL-адрес, в зависимости от ситуации. Однако этот провайдер следит за моим сеансом и интерпретирует каждый новый запрос как обновление первого, а не каждый уникальный запрос.
Я связался с провайдером по поводу моей проблемы, и они зашли настолько далеко, что сообщили мне, что их система работает, как предполагалось, и что я не могу избежать использования одного и того же сеанса ASP.NET для каждого последующего запрос cURL. Хотя моим любимым вариантом было бы переключиться на другого поставщика, сейчас это, похоже, не вариант. Есть ли надежный способ получить новый сеанс ASP.NET с каждым запросом cURL?
Я пробовал следующий набор CURLOPT , но безрезультатно:
//initialize curl
$ch = curl_init($url);
//build a string out of the post_vars
$post_str = http_build_query($post_vars);
//set the necessary curl options
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "UZ_".uniqid());
curl_setopt($ch, CURLOPT_REFERER, CURRENT_SITE_URL."index.php?newsession=".uniqid());
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Pragma: no-cache", "Cache-Control: no-cache"));
//execute the call to the backend script, retrieve the results
$xmlstr = curl_exec($ch);