Ошибка репликации запроса PHP CURL как в браузере - PullRequest
0 голосов
/ 13 марта 2019

У меня возникли проблемы с запросом браузера, которые я пытаюсь повторить с помощью curl.В настоящее время я работаю над университетским проектом и застрял.

Я пытаюсь повторить запрос браузера на следующий URL: http://vm.tiktok.com/e9VDx8/ Когда я захожу на страницу в моем браузере, я перенаправлен настраница с видео и другим контентом.Когда я пытаюсь использовать CURL, мне показывают ошибку 404 страницы не найдена.Мой запрос на скручивание выглядит следующим образом.

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($ch, CURLOPT_USERAGENT, $USER_AGENT);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt( $ch, CURLOPT_COOKIEJAR,  realpath('./cookies.txt') );
        curl_setopt( $ch, CURLOPT_COOKIEFILE, realpath('./cookies.txt') );
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_HEADER, TRUE);
        curl_setopt($ch, CURLOPT_URL, $url);
        $result = curl_exec($ch);

Я посмотрел на заголовки из исходного URL в браузере и попытался скопировать, вставить их в curl, но все равно я получаю страницу 404.Если я скопирую запрос браузера как запрос скручивания из инструментов разработчика Chrome и запустю его в терминале, он будет работать нормально.

curl "http://vm.tiktok.com/e9VDx8/" -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: en-US,en;q=0.9,fr-CA;q=0.8,fr;q=0.7" -H "Cookie: _ga=GA1.2.213365735.1552156986; _gid=GA1.2.1717226934.1552319684; tt_webid=6667489497775638018" --compressed

Любая помощь будет очень признательна.Я в тупике.

1 Ответ

0 голосов
/ 13 марта 2019

Оказывается, я решил эту проблему через несколько минут после публикации справки.Ранее в моем скрипте я обрезал URL, чтобы убедиться, что в нем нет недопустимых символов и тому подобного.При этом я изменил URL-адрес на нижний регистр, что вызвало проблему, поскольку URL-адреса чувствительны к регистру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...