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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏更流畅、简洁的软件开发方式

【自然框架】 页面里的父类——把共用的东东都交给父类,让子类专注于其他。

【类图】 ? 【命名空间】——————————————————【文件截图】 ? ? 可能您会问,不就是弄个父类吗,怎么又是这么复杂呢?这个嘛,听...

23680
来自专栏jiajia_deng

Cmder git 中文显示乱码解决方案

Cmder 是 Windows 下替换原有 cmd 的绝佳工具,但是与默认的 cmd 一样,都与 git 命令行存在一些兼容性问题,比如中文乱码问题。在 Cmd...

45020
来自专栏小狼的世界

PHP处理回车换行时应该注意的一个问题

在我们的数据入库、出库的时候要特别注意这个问题,特别是在进行显示处理的时候,比如使用表单中的 textarea 进行了一段文字的提交,客户端是Windows的话...

11510
来自专栏Aloys的开发之路

Linux乱码问题解决方案

linux系统中文件名内容为urf8编码, windows系统中文件名默认为gbk编码, 多数文档使用gbk编码,系统采用utf8编码 无中文输入法导致的乱码 ...

56680
来自专栏柠檬先生

Angularjs基础(一)

(一) 模型——视图——控制器     端对端的解决方案,AngularJS 试图成为WEB 应用中的一种段对端的解决方案。AngylarJS 的出众  ...

226100
来自专栏章鱼的慢慢技术路

Go语言实践_实现一(客户端)对一(服务器端)聊天室

1,首先启动服务器端,使用listen_socket函数监听IP地址上的客户端连接;

14230
来自专栏Golang语言社区

Golang控制goroutine的启动与关闭

最近在用golang做项目的时候,使用到了goroutine。在golang中启动协程非常方便,只需要加一个go关键字:  go myfunc(){     ...

39270
来自专栏jouypub

优化Vue项目的文件大小

在使用Vue搭建项目时,经常由于引入的库太多,导致打包后的文件体积非常大,特别是vendor.js。这就造成页面第一次打开很慢,如果在浏览器中调试页面(打开控制...

34930
来自专栏老马寒门IT

07Vue.js快速入门-Vue路由详解

对于前端来说,其实浏览器配合超级连接就很好的实现了路由功能。但是对于单页面应用来说,浏览器和超级连接的跳转方式已经不能适用, 所以各大框架纷纷给出了单页面应用...

39450
来自专栏Golang语言社区

Golang 持久化

持久化 程序可以定义为算法+数据。算法是我们的代码逻辑,代码逻辑处理数据。数据的存在形式并不单一,可以存在数据库,文件。无论存在什么地方,处理数据的时候都需要把...

56390

扫码关注云+社区

领取腾讯云代金券