[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: curl с консоли не соответствует curl в PHP
fpndev
Здравствуйте. Пытаюсь сделать парсер Google Page Translate, дохожу до получения ссылки вида:
https://translate.googleusercontent.com/tra...bIRjzLP6LVc4G3Q

Пытаюсь отправить на неё запрос с помощью cURL:

$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $link,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2_0,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36",
CURLOPT_FOLLOWLOCATION => true
]);
echo curl_exec($ch);

// $link валидный, CURL_HTTP_VERSION_2_0 тоже, запрос на nghttp2.org отправляется


Выдает ошибку 400. Пытался подменять все хедеры, проверял совпадения через Chrome Debugger, всё абсолютно так же.

В эту же очередь через консоль всё работает на ура:

curl --http2 -A "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36" -L "https://translate.googleusercontent.com/translate_c?depth=1&hl=en&rurl=translate.google.com&sl=pl&sp=nmt4&tl=ru&u=http://allegro.pl/showitem/description/legacy/6072723696%3Fsnapshot%3D:formatted&xid=17259,15700022,15700124,15700149,15700168,15700173,15700186,15700189,15700201&usg=ALkJrhg3oFDNo5BrAgNbIRjzLP6LVc4G3Q"


Пытался так же выполнить абсолютно ту же команду, даже указывая полный путь к curl через exec, shell_exec, system - та же ошибка 400

echo exec('curl --http2 -A "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36" -L "https://translate.googleusercontent.com/translate_c?depth=1&hl=en&rurl=translate.google.com&sl=pl&sp=nmt4&tl=ru&u=http://allegro.pl/showitem/description/legacy/6072723696%3Fsnapshot%3D:formatted&xid=17259,15700022,15700124,15700149,15700168,15700173,15700186,15700189,15700201&usg=ALkJrhg3oFDNo5BrAgNbIRjzLP6LVc4G3Q"');


Даже теоретически не понимаю, как это возможно, помогите, пожалуйста



Спустя 46 минут, 46 секунд (5.05.2018 - 04:54) fpndev написал(а):
Проблема была в html энтити в ссылке, стоило всего лишь применить html_entity_decode на $link.

Как я понимаю, тему тут закрывают модеры - можно закрывать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.