关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
2015-02-15 00:20
1406 查看
curl函数库实现爬网页内容的链接在 http://www.cnblogs.com/linguanh/p/4292316.html
下面这个是没有name和id 标识的
<input type="submit" value="OnClick"/>
这种类型,在填写完信息后,我们一般需要点一个按钮去触发提交事件。
我之前介绍的用curl去获取网页cookie 的文章中 出现过的一个 变量 data,即要传送过去的 数据,
这个数据一般是网站的登陆账号和密码,对应着输入框的name,下面我举一个例子。
<input name="UserName" id="U" type="text" />
<input name="PassWord" id="P" type="PassWord" />
<input name="Up" type="submit" value="OnClick"/>
这时候我们在用函数访问其网页的时候要传送过去的数据 格式 就可能是
UserName=123456&PassWord=123&Up=++%B5%C7%C2%BC++
这是怎样知道的呢??先别急,介绍大家一个抓包工具,火狐浏览器的firebug,或者其他,就是抓包工具。
上面的例子是最简单的,实际上,如果遇到了我说的<input type="submit" value="OnClick"/>,怎么办,
这时候要看它的表单的 action的链接 因为这个才是真正的提交页面,然后直接post UserName=123456&PassWord=123就行了。
ajax提交的,就要用到抓包工具,抓取传送的源代码,再组合成data,post
还一种情况,就是有隐藏的输入情况,什么意思呢, type="hidden" 这是不用自己输入的,但是,我们在用curl函数访问登陆页面的时候
如果要成功进去,就要传送所用的 input,对于hidden的情况,也是用抓包工具。
最后的提示是,切记,数据的传送是urlencode编码后的数据,在传之前,记得先编码,直接套用抓包工具的源代码,就不用再编码了,它已经帮你干了。
下面这个是没有name和id 标识的
<input type="submit" value="OnClick"/>
这种类型,在填写完信息后,我们一般需要点一个按钮去触发提交事件。
我之前介绍的用curl去获取网页cookie 的文章中 出现过的一个 变量 data,即要传送过去的 数据,
这个数据一般是网站的登陆账号和密码,对应着输入框的name,下面我举一个例子。
<input name="UserName" id="U" type="text" />
<input name="PassWord" id="P" type="PassWord" />
<input name="Up" type="submit" value="OnClick"/>
这时候我们在用函数访问其网页的时候要传送过去的数据 格式 就可能是
UserName=123456&PassWord=123&Up=++%B5%C7%C2%BC++
这是怎样知道的呢??先别急,介绍大家一个抓包工具,火狐浏览器的firebug,或者其他,就是抓包工具。
上面的例子是最简单的,实际上,如果遇到了我说的<input type="submit" value="OnClick"/>,怎么办,
这时候要看它的表单的 action的链接 因为这个才是真正的提交页面,然后直接post UserName=123456&PassWord=123就行了。
ajax提交的,就要用到抓包工具,抓取传送的源代码,再组合成data,post
还一种情况,就是有隐藏的输入情况,什么意思呢, type="hidden" 这是不用自己输入的,但是,我们在用curl函数访问登陆页面的时候
如果要成功进去,就要传送所用的 input,对于hidden的情况,也是用抓包工具。
最后的提示是,切记,数据的传送是urlencode编码后的数据,在传之前,记得先编码,直接套用抓包工具的源代码,就不用再编码了,它已经帮你干了。
相关文章推荐
- ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
- 关于Silverlight对匿名类型数据绑定的问题及其解决方法
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- 【JS】关于表单提交前验证的方法和可能遇到的问题总结
- ASP.NET页面借助IFrame提交表单数据所遇到问题的解决方法分享
- 关于form表单的submit提交时对象没有该属性和方法问题
- 关于Silverlight对匿名类型数据绑定的问题及其解决方法
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
- QT 自定义信号与信号槽方法及解决自定义数据类型或数组作为函数参数的问题
- 关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法
- 数据库中导出CSV文件与EXCEL文件数据对比可能遇到的问题与解决方法
- RS485串行总线可靠性的研究 关于RS485工程应用可能遇到的问题及其解决思路
- 表单用post方法提交数据时乱码问题
- ID为GUID类型时使用ObjectDataSource控件的时候的未找到DataObjectTypeName属性的解决方法
- 关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法
- 表单通过get和post方式提交数据解决乱码的方法
- 在 Vista 中配置 Reporting Services 可能遇到的权限问题及其解决方法
- 表单用post方法提交数据时乱码问题
- 一个关于curl post提交返回数据的问题