2012-12-10 37 views
1

我一直在尋找這個問題的答案,因爲我沒有找到答案,所以我在這裏提出這個問題。解析使用POST導航到下一頁的頁面

有很多網頁使用GET瀏覽頁面,例如,您可以獲得諸如www.google.com?q=cars & p = 2之類的內容。當網頁使用這些信息時,很容易解析所有的搜索結果,只需將p設置爲不同的值即可遍歷所有頁面。

我想知道的是,有沒有人知道如何用POST做到這一點?

+1

如何使用POST做什麼呢?手動更改提交的值?或實際解析值? – ManseUK

+0

解析由POST生成的網頁內容。例如,而不是添加P = 2〜圖號爲2,你必須點擊提交按鈕是在有一個隱藏的值表示,P = 2的形式。我想知道是否有人知道如何解析每個可以通過更改p值創建的「子頁面」,當您需要通過POST更改p時。如果它是一個GET,我可以簡單地使用url(或類似的東西)做一個file_get_contents – Pphoenix

回答

1

Pphoenix,你可以通過CURL發送一個post請求,並通過正則表達式解析這些答案來獲取下一篇文章。

+0

謝謝!這解決了這一切! – Pphoenix

1

正如我所看到的,它不會對PHP產生太大的影響,無論您是通過POST還是GET請求頁面。這是您提交FE的請求(和響應)的方式的問題。如果你有定期的鏈接標籤來導航,你將不得不添加Javascript事件來攔截對這些鏈接的調用,然後通過ajax和POST提交相同的東西。或者,可以使用包含隱藏INPUT元素和方法設置爲POST的所有必需VAR的FORM來取代鏈接。

PHPwise你只是必須抓住$ _POST而不是$ _GET只要增值經銷商已經適當地包括。

+1

+1,POST或GET總是有辦法通過編輯隱藏或不隱藏的方式訪問其他頁面。 另外,POST方法將阻止直接鏈接到特定頁面。 如果這是您使用POST方法防止用戶通過編輯值來猜測頁面的安全問題,那麼我擔心您的方式會出錯。 –

+0

@AurélienGrimpard其實我並沒有真正考慮過他通過POST請求頁面的意圖。在AJAX時代,它比平常更常見。當然,你對這兩方面都是正確的:當然,深度鏈接可能會產生問題,並且在安全性方面你沒有獲得任何東西。我寧願嘗試提供一些簡單的技術建議。 – bouscher

+0

@bouscher我發送POST請求的系統不是由我設計的。我不認爲他們出於安全原因使用POST,而是正如您已經指出的那樣,作爲設計選擇如何處理請求和響應。 – Pphoenix