• 关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法


    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编码后的数据,在传之前,记得先编码,直接套用抓包工具的源代码,就不用再编码了,它已经帮你干了。

  • 相关阅读:
    【MVC整理】1.使用 StructureMap 作为 ASP.NET MVC 的 DI 框架
    一个随机列表项算法
    轻量级IOC框架:Ninject
    解决“找不到请求的 .Net Framework 数据提供程序。可能没有安装”的问题
    Vcastr 2.2 flv 网络播放器 参数设置
    C#取汉字首字母
    IIS Express的安装与设置讲解
    清晰的图片缩略方案
    ssh远程连接ubuntu
    【Apache】在Apache中利用ServerAlias设置虚拟主机接收多个域名和设置域名泛解析
  • 原文地址:https://www.cnblogs.com/linguanh/p/4292410.html
Copyright © 2020-2023  润新知