2010-08-11 117 views
2

我想編寫一個PHP腳本,在我使用的Web應用程序中執行例行任務。我試圖找出提交表單最簡單的方法,點擊鏈接並獲取一些信息。最簡單的方法是什麼(保持會話打開等)。在PHP中模擬瀏覽器點擊

回答

1

您可以在PHP中使用CURL來模擬提交數據,點擊鏈接等,但我認爲,像Javascript這樣的客戶端腳本語言 - 而不是像PHP這樣的服務器端語言更適合到你正在描述的內容。我需要更多的信息給你一個具體的例子。

+1

我給你舉個例子(這不是實際的用例)。假設我想編寫一個PHP腳本來登錄我的Gmail帳戶並獲取最新消息的文本。我會怎麼做?我不認爲JavaScript是我在這裏尋找的,我實際上希望專門用PHP來做這件事。 – Alex 2010-08-11 01:35:19

+2

知道,CURL可能是一個好方法。你可以在這裏閱讀教程:http://www.merchantos.com/makebeta/php/scraping-links-with-php/ – Robert 2010-08-11 01:39:55

3

Javascript將是比PHP更好的解決方案。您可以使用它與PHP一起提交引用同一頁的表單,即。 <form method='index.php' action='post'>

1

您將無法直接在PHP中模擬這些事件,因爲Web應用程序在客戶端使用Javascript,PHP是不同的語言並在服務器端運行。首先,我會看看是否有一個開放的API可用於您想知道的Web應用程序,例如, Gmail:http://code.google.com/apis/gmail/。並非所有的API都可以執行Web應用程序可以執行的操作,因此您需要檢查文檔以確保API能夠執行您想要的操作,並且可以輕鬆地與PHP進行交互。

另一種選擇是本質上反向設計Web應用程序與服務器的通信方式。大多數Web應用程序都是通過以某種序列化格式(如XML,JSON或文本)發送POST或GET HTTP數據來操作的。你可以使用Firefox的Firebug插件來查看POST/GET數據。如果您知道服務器向客戶端發送的內容以及客戶端發送給服務器的內容,您可以使用類似CURL的方式編寫腳本,以使用PHP模擬客戶端而不是JavaScript。這需要相當多的工作,可能會涉及很多跟蹤&錯誤。

1

如果方法是GET,那麼你應該能夠從幾個真實世界嘗試的URL中解決問題。

它POST然後你可能是SOL,除非它是你自己的網頁./app,你知道它期望什麼$ _POST ...除非你找到一個工具來窺探你的HTTP流量並獲得POST信息從觀察一些真正的wrold例子。