это отсутствующий заголовок или что-то в этом роде. какой именно заголовок является чьим-либо догадкой. может быть блоком User-Agent
для всего, что мы знаем. в любом случае, начните с этого:
curl -v 'http://127.0.0.1/route/function' --location --cookie "" --user-agent 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-User: ?1' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'Sec-Fetch-Site: none' -H 'Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,nb;q=0.7' --compressed
он делает очень похожий на браузер запрос (Google Chrome на Windows 7 SP1 x64, если быть точным), веб-сервер не должен быть в состоянии заметить, что он на самом деле разговаривает сзавиток, а не веб-браузер. затем уберите аргументы 1 на 1, пока он не перестанет работать. затем поздравляю, последний аргумент, который вы удалили, был, вероятно, 1, который был необходим.
У меня большой опыт работы с этим материалом, и по моему опыту, это обычно строка Accept
(где вы получаете фальшивку, если вы Accept: */*
(по умолчанию), но вы получаете то, что хотите, если вы Accept: text/html
), либо строка User-Agent
(где curl / wget занесен в черный список), либо строка Accept-Encoding
(где вы получаете фальшивку, если вы делаете не send Accept-Encoding: gzip, deflate
) - но это может бытьлюбой из них.