2014-12-13 1 views
0

뒤에 나옵니다. 이미 내 대답이있는 질문을 찾았지만 특정 문제를 찾지 못했습니다.# -> file_get_contents/sockets가있는 URL은 #

URL에 '#'이 포함 된 파일의 내용을 가져 오려고하면 # 뒤에 # 부분이 잘립니다. 예를 들어

는 :

나는 http://steamcommunity.com/id/Schwabba/inventory/#730의 콘텐츠를하려고하지만 소켓이나 file_get_contents를 통해 다운로드하려고 할 때, 내가 할 모든 http://steamcommunity.com/id/Schwabba/inventory/입니다.

누군가가이 문제를 해결하는 방법을 알고 있습니까?

감사합니다.

답변

2

URL 조각 (해시 후의 URL의 일부)은 HTTP를 통해 처리되지 않으며 브라우저에서 일부 의미를가집니다. 보통 페이지에서 실행되는 자바 스크립트에 의해 읽혀지고 있습니다.이 경우 나머지 AJAX 호출이 페이지의 나머지 부분을 가져옵니다.

+0

그리고 좋은 방법은 무엇입니까? – Schwabba

0

이스케이프 처리되지 않은 #은 URL과 조각 사이의 구분 기호입니다. 프래그먼트는 URL 자체의 일부가 아니므로 HTTP 요청에 포함되지 않습니다. 프래그먼트는 클라이언트가 아닌 서버에만 의미가 있습니다. 예를 들어 웹 브라우저에 http://steamcommunity.com/id/Schwabba/inventory/#730을 입력하면 http://steamcommunity.com/id/Schwabba/inventory/을 요청하고 결과를 렌더링하고 결과가 HTML 인 경우 브라우저는 또는 id 속성이 730 인 HTML <a> 태그로 표시된 섹션으로 이동합니다.

따라서 file_get_contents()이 조각을 무시하는 이유는 무엇입니까? 파일을 다운로드 한 후 조각을 어떻게 처리할지 결정해야합니다. 조각은 다운로드되는 콘텐츠의 유형과 관련이 있습니다.