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

  • 相关阅读:
    webpack4--uglifyjs-webpack-plugin
    webpack4--MiniCssExtractPlugin(extract-text-webpack-plugin)
    webpack--CleanWebpackPlugin is not a constructor
    Core3.0全局捕获异常
    Core3.0返回的数据格式xml或json
    Core3.0读取appsetting.json中的配置参数
    Core3.0发布到IIS的流程
    asp.net MVC Session锁的问题
    记一次Ajax请求MVC调优
    博客园主题皮肤
  • 原文地址:https://www.cnblogs.com/linguanh/p/4292410.html
Copyright © 2020-2023  润新知