Вот URL: https://www.grammarly.com
Я пытаюсь получить заголовки HTTP, используя встроенную функцию get_headers()
:
$headers = get_headers('https://www.grammarly.com')
Результат
HTTP/1.1 400 Bad Request
Date: Fri, 27 Apr 2018 12:32:34 GMT
Content-Type: text/plain; charset=UTF-8
Content-Length: 52
Connection: close
Но если я сделаю то же самое с инструментом командной строки curl
, результат будет другим:
curl -sI https://www.grammarly.com/
HTTP/1.1 200 OK
Date: Fri, 27 Apr 2018 12:54:47 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 25130
Connection: keep-alive
В чем причина такой разницы в ответах? Это какая-то плохо реализованная функция безопасности на стороне сервера Grammarly или что-то еще?