2010-08-16 3 views
0

저는 PHP로 근근이 살아가고 특정 도메인에서 이상한 결과를 얻었습니다. 그것은 잘 작동URL 구조로 인해 PHP의 file_get_contents()가 반환합니다.

http://pitchfork.com/reviews/tracks/

예를 들어, 때이 페이지를 다운로드합니다. 그러나 나는이 페이지를 다운로드하려고하는 경우 : 콘텐츠가 정확히 동일 할지라도,

http://pitchfork.com/reviews/tracks/1/

그것은 불완전한 페이지를 반환합니다. 모든 후속 페이지 (트랙/2 /, 트랙/3/등)도 불완전한 데이터를 반환합니다.

페이지 매김 중에 URL이 형성되는 방식에 문제가있는 것 같습니다. 사이트의 다른 섹션은 대부분 동일한 동작을합니다 (방문 페이지는 작동하지만 후속 페이지는 작동하지 않음).

http://pitchfork.com/forkcast/

forkcast/2/등 잘 작동 : 한 가지 예외는이 부분이다. 대부분의 다른 섹션은 여러 개의 디렉토리가있는 하나의 디렉토리에 있기 때문일 수 있습니다.

나는 문제의 원인을 파악하고있는 것처럼 보이지만 문제가 해결되지 않는 것은 아닙니다.

아이디어가 있으십니까?

나는 file_get_contents() 및 cURL을 사용하여 시도해 본 결과 두 가지 모두 동일한 결과를 제공합니다.

흥미롭게도, 작동하지 않는 모든 페이지에서 불완전한 페이지는 약 16,000 자입니다. 이것은 단서입니까?

http://fingerfy.com/test.php?url=http://pitchfork.com/reviews/tracks/

http://fingerfy.com/test.php?url=http://pitchfork.com/reviews/tracks/1/

은 그것은 나 strlen()와 다운로드 페이지의 내용을 인쇄 (플러스가에 상대 URL을 만드는 :

난 당신이 차이를 볼 수있는 테스트 페이지를 만들었습니다 절대, 그래서 CSS는 정확하다).

어떤 힌트라도 좋습니다.

UPDATE : .... Mowser, 모바일 용 페이지를 최적화하여이 페이지에 아무 문제 (http://mowser.com/web/pitchfork.com/reviews/tracks/2/)가 없다 그래서는 실패하지 않고 할 수있는 방법이어야

그것은 갈퀴의이 CMS와 실행과 같은
+1

빠른 관찰 - 자바 스크립트 (GA_googleFillSlot ("Strip_Reviews")와 같은 함수가 소스에서 언급 됨)를 사용하여 페이지의 상당 부분이 동적으로 생성 된 것으로 보입니다.이 방법으로로드 할 때 안정적으로 작동하는지 여부는 확실하지 않습니다. 테스트할만한 가치가있는 것은 '을 삽입하는 것입니다. –

+0

Lucanos에게 감사하지만 문제는 더욱 심각합니다. 페이지를 가져 오면 처음 16kb 만 가져옵니다. 꼬리말과 닫는 body/html 태그 등을 포함하여 나머지는 누락되었습니다. 페이지가 게재되는 지점에서 문제가 발생합니다 .... –

답변

0

"인간"URL. 그것은/리뷰/트랙이 여러 게시물이 나열된 "홈페이지"를 가져 오지만 "/ 리뷰/트랙/1"은 "리뷰 # 1"만 표시한다는 것을 의미합니다. 고정 길이 발췌 부분 만 출력하도록 CMS를 구성했거나 출력 필터를 잘못 구성하여 개별 게시물 페이지를 일찍 절단 할 수 있습니다.

wget을 사용하여/tracks/1부터/tracks/6까지 가져 오려고했는데 태그의 중간에 정확히 16,097 바이트로 끝나는 내용이 모두 있습니다. 따라서 나쁜 데이터를 보내는 사이트 자체이기 때문에 사용자가 직접 수정할 수있는 방법이 아닙니다.

+0

예, 분명히 '인간'URL과 관련이 있습니다. 그러나 이상한 일이 있습니다. a) 리뷰 홈페이지와 페이지 1은 브라우저에서와 똑같은 데이터를 반환해야하지만 아직 작동하고 다른 하나는 작동하지 않습니다. b) 다른 모든 것과 달리 섹션을 보면 forkcast 섹션 (http://pitchfork.com/forkcast/)은 다음 페이지를 포함하여 완벽하게 작동합니다. c) 불완전한 페이지는 항상 16kb입니다. 이렇게하면 출력이 16KB로 플러시됩니다. 전체 페이지를 출력하는 것보다 브라우저에서 볼 때 페이지가 잘 인출되어 여전히 희망이 있습니다. .. –

관련 문제