Ermolov
@Ermolov
Начинающий Full Stack разработчик

Как передать параметы из одно CURL в другой на php?

Есть два скрипта с CURL на php.
В первый скрипт я получаю данные в POST. Выглядит это так:

$url = $_POST['link_for_parse'];
$idauto = basename($url);
$domain = parse_url($url, PHP_URL_HOST);

if ($domain == 'www.site.com') {

$googleApiUrl = 'http://site.com/parse/parse.php';

$ch = curl_init();

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $googleApiUrl);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);

curl_close($ch);


Мне нужно, чтобы запрос в первом CURL отправился на адрес с параметрами и эти параметры были обработаны уже во втором скрипте, где так же срабатывает CURL.
Второй скрипт:

$createdURL = curl("https://www.site.com/data/data/lotdetails/solr/СЮДА ДОБАВИТЬ ПАРАМЕТР ИЗ ПЕРВОГО СКРИПТА");
if (preg_match("#<script src=\"(/_Incapsula_Resource\?[^\"]+)\">#", $createdURL, $regs))
{
    curl("https://www.copart.com{$regs[1]}");
    $createdURL = curl("https://www.site.com/data/data/lotdetails/solr/СЮДА ДОБАВИТЬ ПАРАМЕТР ИЗ ПЕРВОГО СКРИПТА");
}
echo $createdURL;

unlink("/tmp/cookie.txt");

function curl($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookie.txt");
    curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie.txt");

	header('Content-Type: application/json');
    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
	
}


Во втором скрипте я отметил, куда должны прийти параметры из первого скрипта. Параметр это значение из переменной $idauto в первом скрипте.
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Из объяснения ничего непонятно. И непонятно, зачем нужен curl_exec() первого скрипта, если значение $idauto выясняется в первых двух строчках? Зачем вообще куда-то делать запрос?

А мой код, смотрю, пригодился. :-)
$url = $_POST['link_for_parse'];
$idauto = basename($url);
$createdURL = curl("https://www.site.com/data/data/lotdetails/solr/".urlencode($idauto));
if (preg_match("#<script src=\"(/_Incapsula_Resource\?[^\"]+)\">#", $createdURL, $regs))
{
    curl("https://www.copart.com{$regs[1]}");
}
if ($createdURL = curl("https://www.site.com/data/data/lotdetails/solr/".urlencode($idauto)))
{
    header('Content-Type: application/json');
    echo $createdURL;
}
unlink("/tmp/cookie.txt");

function curl($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookie.txt");
    curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie.txt");

    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы