URL с # — & gt; file_get_contents / sockets режет URL после #

Я искал вопросы, на которые уже может быть мой ответ, но я не нашел этой конкретной проблемы.

Когда я пытаюсь получить содержимое файла с символом «#» в URL, он обрезает часть после символа «#».

Например:

Я пытаюсь получить содержание http://steamcommunity.com/id/Schwabba/inventory/#730 но когда я пытаюсь скачать его через сокет или file_get_contentsвсе, что я получаю, это http://steamcommunity.com/id/Schwabba/inventory/.

Кто-то знает, как решить эту проблему?

Благодарю.

0

Решение

Фрагменты URL-адресов (часть URL-адреса после хэша) не обрабатываются по протоколу HTTP, и браузер должен разобраться в них. Обычно их читает Javascript, запущенный на странице — как в данном случае — который затем делает дальнейшие AJAX-вызовы, чтобы получить оставшуюся часть страницы.

2

Другие решения

Неотбегший # является разделителем между URL и фрагментом. Фрагмент не является частью самого URL-адреса и, следовательно, не включается в HTTP-запросы. Фрагмент имеет значение только для клиента, а не для сервера. Например, когда вы вводите http://steamcommunity.com/id/Schwabba/inventory/#730 в веб-браузер, он запрашивает http://steamcommunity.com/id/Schwabba/inventory/ и отображает результат, и если результатом является HTML, то браузер переходит к разделу, обозначенному HTML <a> тег чей name или же id атрибут 730,

Так что имеет смысл, почему file_get_contents() игнорирует фрагмент — он должен. Вы должны решить, что делать с фрагментом после загрузки файла. Фрагмент относится к типу загружаемого контента.

0

По вопросам рекламы [email protected]