2013-04-07 37 views
0

假設我有互聯網瀏覽器,如Mozilla和IEXPLORER,所以,我用Mozilla和利用我的賬號的用戶名和密碼登錄我已經登錄到一個網站,以及idhttp可以發佈(提交表單,自動點擊)到已經打開的帳戶(無需打開網頁瀏覽器)?或者我將不得不再次使用我的用戶名和密碼進行提交?德爾福,使用idhttp自動提交按鈕

我不需要一個代碼,只是要求回答YES或NO,NO時!在我認可的情況下,我應該採用什麼樣的控制措施? 示例:我想爲點擊自動完成提交按鈕(我的帳戶已經登錄)!

感謝

回答

1

有沒有簡單的YES/NO回答你的問題。這取決於網站/服務器如何處理認證。

默認情況下,http是STATELESS:對服務器的每次調用都對前一次調用一無所知。在這種情況下,您將不得不驗證每次您點擊服務器。

但最現代的網站執行某種身份驗證持久的:要麼通過維護用戶會話信息的服務器上,或者像阿爾諾Bouchez提到,發回一個跟蹤你的身份驗證的cookie。

我曾經寫過一個自定義Web應用程序,它發回了帶有第一個響應的加密認證令牌,它是客戶端(它是一個使用idhttp而不是瀏覽器客戶端實現的嵌入式套接字的自定義Windows客戶端)爲每個後續請求發回該令牌。

所以,你的答案是:讓服務器處理它 - 你通常沒有太多的選擇。

1

我懷疑的認證將是本地的瀏覽器,即通過特定的瀏覽器cookie的驗證。

從Delphi代碼中,您將需要檢索cookie(可能是,例如from a SQLite3 file with FireFox或用戶配置文件中的純文本帶IE),然後使用Indy查詢網站,包括cookie內容請求標頭。

但這將高度依賴於身份驗證是如何完成的。例如,它使用HTTP還是HTTPS協議?如何實現服務器端?

1

如何用一個函數來自動您登錄到該網站後提交創建定製的瀏覽器?
我曾經使用TChromium和TBrowser自定義瀏覽器的自動錶單提交功能。
很簡單。你只需要知道如何使用javascript來控制dom,並且還可以操作頁面源代碼。
對不起,對於簡單的回答