Как правильно составить GET запрос для сокращения ссылки?

Здравствуйте.
Пользуюсь сервисом для сокращения ссылок.
В личном кабинете на странице Developers API предлагается возможность сокращать ссылки с помощью GET запроса.
Вот, что они пишут:

All you have to do is to send a GET request with your API token and URL Like the following.
If you want a TEXT response just add &format=text at the end of your request as the below example. This will return just the short link. Note that if an error occurs, it will not output anything.
https://shrink.pe/api?api=bc3db05f576c8b99d44f65eab7970cd0dbfe9d37&url=https://www.youtube.com&format=text

Using the API in PHP
To use the API in your PHP application, you need to send a GET request via file_get_contents or cURL. Please check the below sample examples using file_get_contents
$long_url = urlencode('https://www.youtube.com');
$api_token = 'bc3db05f576c8b99d44f65eab7970cd0dbfe9d37';
$api_url = "https://shrink.pe/api?api={$api_token}&url={$long_url}&alias=CustomAlias&format=text";
$result = @file_get_contents($api_url);
if( $result ){
 echo $result;
}

Вроде бы говорится о возможности использовать Сurl.
Я открыл Монитор Сети, вставил и открыл в адресной строке ссылку:
https://shrink.pe/api?api=bc3db05f576c8b99d44f65eab7970cd0dbfe9d37&url=https://www.youtube.com

Сокращение сработало. Я скопировал команду cURL для Windows
curl "https://shrink.pe/api?api=bc3db05f576c8b99d44f65eab7970cd0dbfe9d37&url=https://www.youtube.com" --compressed -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" -H "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3" -H "Accept-Encoding: gzip, deflate, br" -H "Connection: keep-alive" -H "Cookie: cf_chl_2=2a16e4bef3c767d; cf_clearance=FwFUU7Edxizye5uylkt3EaCsTU_mFj8MXswP.elQygc-1698930848-0-1-ae555dff.ffc64eb1.f954021f-150.0.0; AppSession=fc798c82b06344735d7a6aa402ab0007; csrfToken=aeb1ddbbacf05f3be050d28bdb790228c2d83f2c5c30e705aae6761cb193fc2d031b2a7119e897ef36be629d9159cc8903924094cf590860c2dfe30a91222162; ab=2; RememberMe=LAlGsvTiEF8i^%^3AoLDOwtMh4HlWAgM2UIb0R^%^2FTR3ECxRZsSzjEZqKuKOEDk" -H "Upgrade-Insecure-Requests: 1" -H "Sec-Fetch-Dest: document" -H "Sec-Fetch-Mode: navigate" -H "Sec-Fetch-Site: none" -H "Sec-Fetch-User: ?1" -H "TE: trailers"

Но когда я запускаю эту команду в Curl в бат файле, она не работает. Почему?
Установлен curl 8.0.1 (x86_64-w64-mingw32).
Помогите составить правильную команду Curl
  • Вопрос задан
  • 437 просмотров
Решения вопроса 1
@webhabr Автор вопроса
Как выяснилось, скорее всего мою задачу можно выполнять только с помощью выполнения PHP команды, которую нужно запускать со своего хостинга или Open Server.
По крайней мере такой вариант я уже проверил и он работает.
Просто из под Windows с помощью *.bat файла ничего не выйдет.
Поэтому вопрос закрыт (решен).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Так как сервер не открывает для вас страницу по указанному урл, а делает редирект на нужную ссылку, соответственно и в курл надо добавить директиву фоллоу редирект, емнип "-L"
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы