2012-12-10 6 views
1

저는이 문제에 대한 해답을 영원히 찾고 있었기 때문에 답을 찾지 못했기 때문에 여기에이 질문을 올리고 있습니다.POST를 사용하여 다음 페이지를 탐색하는 페이지를 구문 분석합니다.

GET을 사용하여 페이지를 탐색하는 많은 웹 페이지가 있습니다. 예를 들어 www.google.com?q=cars & p = 2와 같은 것을 얻을 수 있습니다. 웹 페이지가이 정보를 사용할 때 검색 결과를 모두 파싱하기 쉽습니다. p를 다른 값으로 설정하여 모든 페이지를 반복합니다.

내가 궁금한 점은 누구든지 POST로이를 수행하는 방법을 알고 있습니까?

+1

POST로 무엇을 할 수 있습니까? 제출 된 값을 수동으로 변경 하시겠습니까? 또는 실제로 값을 구문 분석합니까? – ManseUK

+0

POST에 의해 생성 된 웹 페이지 콘텐츠를 구문 분석합니다. 예를 들어 페이지 번호 2를보기 위해 p = 2를 추가하는 대신 p = 2라고 표시된 숨겨진 값을 가진 양식의 제출 버튼을 클릭해야합니다. POST를 통해 p를 변경해야 할 때 p 값을 변경하여 만들 수있는 모든 "서브 페이지"를 구문 분석하는 방법을 알고 있는지 궁금합니다. URL을 가지고 file_get_contents를 간단히 처리 할 수 ​​있습니다 (또는 이와 비슷한 것) – Pphoenix

답변

1

Pphoenix, CURL을 통해 게시물 요청을하고 다음 게시물 매개 변수를 잡기 위해 정규식을 통해 답변을 분석 할 수 있습니다.

+0

감사합니다! 이것으로 모두 해결되었습니다! – Pphoenix

1

내가보기에 POST 또는 GET을 통해 페이지를 요청했는지 여부는 PHP와 큰 차이가 없습니다. 이는 귀하가 FE로부터 요청 (및 각각 응답)을 제출하는 방식의 문제입니다. 탐색 할 일반 링크 태그가있는 경우 Javascript 이벤트를 추가하여 이러한 링크에 대한 호출을 가로 채고 아약스 및 POST를 통해 동일한 항목을 제출해야합니다. 또는 숨겨진 INPUT 요소에 필요한 모든 VAR과 POST로 설정된 메소드를 포함하는 FORM으로 링크를 대체 할 수 있습니다.

PHP는 VAR이 제대로 포함되어있는 한 $ _GET 대신 $ _POST를 잡아야합니다.

+1

+1, POST 또는 GET은 값을 편집하여 다른 페이지에 액세스 할 수있는 방법이 항상 있거나 숨겨져 있지 않습니다. POST 메서드를 사용하면 특정 페이지로 직접 연결되는 것을 방지 할 수 있습니다. POST 메서드를 사용하여 사용자가 값을 편집하여 페이지를 추측하지 못하게하는 보안 문제가 있다면 잘못된 방식으로 진행될 수 있습니다. –

+0

@ AurélienGrimpard는 실제로 POST를 통해 페이지를 요청하려는 의도에 대해서는별로 생각하지 않았습니다. AJAX 시대에는 공통점 이상입니다. 당연히 당신은 양쪽 다 맞습니다 : 딥 링크는 문제가 될 수 있으며 보안상의 이유로 당신은 아무것도 얻지 못합니다. 나는 약간의 기술적 인 조언을하기 위해 오히려 노력하고있었습니다. – bouscher

+0

@bouscher POST 요청을 보낸 시스템이 저에 의해 설계되지 않았습니다. 보안상의 이유로 POST를 사용했다고 생각하지 않지만, 요청 및 응답을 처리하는 방법을 설계 선택 항목으로 지적했습니다. – Pphoenix

관련 문제