Различные выводы при использовании file_get_contents

Я пытался получить содержимое следующего URL-адреса с помощью PHP file_get_contents(), однако вывод отличается от использования моего браузера. Я попытался установить пользовательский агент, но это не сработало, я также попытался полностью смоделировать HTTP-запрос, который сделал мой браузер, но безуспешно. Кто-нибудь знает, что может заставить его работать? При использовании PHP я получаю форму входа, но при открытии через мой браузер он просто открывает расписание:

URL-адрес выглядит следующим образом:

https://webuntis.a12.nl/WebUntis/Timetable.do?type=1

1 ответ

Решение

Похоже, что URI, к которому вы пытаетесь получить доступ, требует аутентификации. Так что вам нужно будет реализовать эту процедуру аутентификации в PHP, если вы хотите, чтобы PHP делал запросы за вас.

Это можно сделать одним из двух способов. Во-первых, это использование встроенных в PHP потоковых упаковщиков HTTP, с которыми, на мой взгляд, довольно легко работать. Другой - использовать cURL, который может быть чем-то вроде швейцарского армейского ножа. Таким образом, вы можете получить немного перегружены, но оба варианта должны быть довольно тривиальными на поверхности.

Вам нужно отправить запрос на почту action атрибут в форме на этой странице, а затем из ответа вам нужно будет извлечь куки из суперглобального $_COOKIE и отправить его вместе с каждым последующим запросом. В руководстве есть примеры, на которые я ссылаюсь.

Другие вопросы по тегам