2012-06-24 132 views
0

我打算使用lua編寫一個腳本來從網站www.baidu.com(這在中國很受歡迎)獲取一些數據,但它需要身份驗證,任何人都可以註冊該站點。當我在該網站註冊,我使用Fiddler捕獲的會話,我發現請求體有幾個可變參數,就像這樣:Http post request-body

ppui_logintime=14084&charset=UTF-8&codestring=&token=9fcf00d59b6b9860937a70c221??95d818&isPhone=false&index=0&u=http%3A%2F%2Fwww.baidu.com%2F&safeflg=0&staticpage??=https%3A%2F%2Fpassport.baidu.com%2Fv2Jump.html&loginType=1&tpl=mn&callback=paren??t.bdPass.api.login._postCallback&username=test&password=test&verifycode=&mem_pass??=on 

的ppui_logintime和令牌字段值,他們從哪裏得到?他們曾經做過什麼?

任何幫助/意見/建議非常感謝。

回答

1

這些值來自用戶使用的登錄網站的HTML網絡表單。它包含隱藏的字段,而不僅僅是用戶在屏幕上看到的字段。當網絡服務器將HTML傳遞給瀏覽器時,這些隱藏的字段將包含返回到網絡服務器的值以及用戶輸入的值。這就是HTML網絡表格一般工作的方式。

+0

感謝您的評論!現在我想使用腳本(如捲曲或其他語言)來登錄網站來獲取一些數據。我該怎麼做?我已經搜索了谷歌,但我找不到一個完整的代碼示例,所以我只知道我需要做什麼。 – ms2008

+0

您必須首先下載登錄頁面的HTML,然後手動解析所有Webform字段名稱和值,填寫所需的憑據字段值,然後將所有內容提交給服務器。沒有一個代碼可以完成所有這些。 Curl可以下載HTML並提交回服務器,但是你必須自己做HTML解析。 –