2012-06-24 152 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解析。 –