- 初中三年级
- 2220985
- 396
- 0
- 532 朵
- 2506 个
- 334 个
- 480
- 2013-10-27
|
1#
t
T
发表于 2015-04-29 15:58
|
|只看楼主
GET、POST初解析
按键学院交流群(1群已满):376122403 零基础学按键精灵群(2群):372671254 GET、POST?This is What?
很多朋友或许还不知道这是啥东东,其实就是一种网络发送协议类型,
一般有POST和GET两种,学会了POST技术,简单来说就是可以不用打开网页
都可以进行一些网页操作,小的如签到、填表、发帖(比如某大大的按键论坛自动签到小工具)
大的如淘宝充值平台系统、飞q手机验证码自动接收系统等等,下面小编带大家更加具体的了解下
|
get、post区别 关于get、post的详细介绍可以查看michael3636大大整理的掌控POST(1)、
掌控POST(2)、掌控POST(3)、掌控POST(4)、掌控POST(5)、掌控POST(6)结束篇。
这边稍微做个小总结:
Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据 get url上能看到数据 url上有尾巴 不安全 长度有限 post 看不到数据 url无尾巴 安全 无长度限制
get、post方式判定 怎么判定网站用的是get、还是post呢? 比如我们的学院院刊版块:- 您所在的用户组无法下载或查看附件
通常都是看ie的地址栏,如果跳转过去时的路径的尾部中含有“?parm1=值1?m2=值2&……”则为get提交的,如果没有上面提到的,那么就是post提交,?后面的内容(即图中红色框框圈住的部分)为post携带的参数,当然这边只是粗略的说了一下,也会有例外的情况,如果想深入了解的话,建议百度查找相关资料 post技术与按键的结合 知道了get、post的作用后,我们就可以在不打开网址的情况下做一些操作,比如 代码1—下载网页文件以字符串的形式保存或保存到磁盘相应目录下: - /*
- 下载网页文件,结果以字符串形式返回
- 原作者 : BlackGlory
- url : 链接地址
- */
- Function download(url)
- Dim xmlHttp
- Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
- url = urlCheck(url)
- xmlHttp.open "get", url, False
- xmlHttp.send
- Do
- Loop Until xmlHttp.readyState = 4
- download = xmlHttp.responseText
- Set xmlHttp = Nothing
- End Function
- /*
- 下载网页文件,保存到磁盘
- 原作者 : BlackGlory
- url : 链接地址
- filename : 保存文件路径
- */
- Sub downloadFile(url, filename)
- Dim xmlHttp, aso
- Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
- url = urlCheck(url)
- xmlHttp.open "get", url, False
- xmlHttp.send
- Do
- Loop Until xmlHttp.readyState = 4
- Set aso = CreateObject("Adodb.Stream")
- aso.Type = 1
- aso.mode = 3
- aso.open
- aso.write (xmlHttp.responseBody)
- aso.SaveToFile filename, 2
- aso.Close
- Set aso = Nothing
- Set xmlHttp = Nothing
- End Sub
复制代码代码2—获取某网页板块下的所有内容:
- /*
- HttpGet
- 原作者 : BlackGlory
- url : 链接地址
- */
- Function getHttp(url)
- getHttp = download(url)
- End Function
- /*
- HttpPost
- 原作者 : BlackGlory
- url : 链接地址
- parameter : post参数
- */
- Function postHttp(url, parameter)
- Dim xmlHttp, aso
- Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
- url = urlCheck(url)
- xmlHttp.open "post", url, False
- xmlHttp.setrequestheader "content-type", "application/x-www-form-urlencoded"
- xmlHttp.send parameter
- Do
- Loop Until xmlHttp.readyState = 4
- postHttp = xmlHttp.responseText
- Set xmlHttp = Nothing
- End Function
- Function urlCheck(url)
- If Left(url, 7) <> "http://" Then
- url = "http://" & url
- End If
- urlCheck = url
- End Function
复制代码
飞q实例应用
飞q手机验证码自动接收系统介绍 该系统可以实现手动获取各大网站的手机验证码, 通过post我们可以不需要打开网址的情况下就能获取到
下面是相关整体代码示例:
- Function postHttp(url, parameter)
- Dim xmlHttp, aso
- Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
- url = urlCheck(url)
- xmlHttp.open "post", url, False
- xmlHttp.setrequestheader "content-type", "application/x-www-form-urlencoded"
- xmlHttp.send parameter
- Do
- Loop Until xmlHttp.readyState = 4
- postHttp = xmlHttp.responseText
- Set xmlHttp = Nothing
- End Function
- Function urlCheck(url)
- If Left(url, 7) <> "http://" Then
- url = "http://" & url
- End If
- urlCheck = url
- End Function
- /*
- 飞Q手机验证平台API
- 功能 : 登录
- 参数 : uid[用户名] pwd[密码]
- 返回 : 成功返回 token,失败返回空字符串 ""
- */
- Function FQ_Login(uid, pwd)
- PostParam = "action=loginIn&uid={$uid}&pwd={$pwd}"
- PostParam = Replace(PostParam, "{$uid}", uid)
- PostParam = Replace(PostParam, "{$pwd}", pwd)
- RetStr = postHttp("http://sms.xudan123.com/do.aspx", PostParam)
- If FQ_IsOK(RetStr) Then
- FQ_Login = Split(RetStr, "|")(1)
- Else
- FQ_Login = ""
- End If
- End Function
- /*
- 飞Q手机验证平台API
- 功能 : 获取号码
- 参数 : pid[项目ID]
- 返回 : 成功返回 手机号,失败返回空字符串 ""
- */
- Function FQ_GetTel(pid)
- PostParam = "action=getMobilenum&pid={$pid}"
- PostParam = Replace(PostParam, "{$pid}", pid)
- RetStr = postHttp("http://sms.xudan123.com/do.aspx", PostParam)
- If FQ_IsOK(RetStr) Then
- TracePrint RetStr
- FQ_GetTel = Split(RetStr, "|")(0)
- Else
- FQ_GetTel = ""
- End If
- End Function
- /*
- 飞Q手机验证平台API
- 功能 : 获取验证码
- 参数 : tel[手机号码] pid[项目ID] uid[开发者用户名(分成用)] del[是否继续使用这个号码]
- 返回 : 成功返回 手机号,失败返回空字符串 ""
- */
- Function FQ_GetVCode(tel, pid, uid, del)
- PostParam = "action={$tpe}&mobile={$tel}{$pid}&author_uid={$uid}"
- If Del Then
- PostParam = Replace(PostParam, "{$tpe}", "getVcodeAndHoldMobilenum")
- PostParam = Replace(PostParam, "{$pid}", "&next_pid=" & pid)
- Else
- PostParam = Replace(PostParam, "{$tpe}", "getVcodeAndReleaseMobile")
- PostParam = Replace(PostParam, "{$pid}", "")
- End If
- PostParam = Replace(PostParam, "{$tel}", tel)
- PostParam = Replace(PostParam, "{$uid}", uid)
- RetStr = postHttp("http://sms.xudan123.com/do.aspx", PostParam)
- If FQ_IsOK(RetStr) Then
- FQ_GetVCode = Split(RetStr, "|")(1)
- Else
- FQ_GetVCode = ""
- End If
- End Function
- /*
- 飞Q手机验证平台API
- 功能 : 通用返回值验证
- 参数 : ies[返回字串]
- 返回 : 成功返回 True ,否则返回 False 并输出错误信息
- 说明 : 内部函数
- */
- Function FQ_IsOK(ies)
- FQ_IsOK = False
- 返回值=split(ies,"|")
- Select Case 返回值(0)
- Case "message"
- TracePrint "账户可使用余额不足,需充值"
- Case "unknow_error"
- TracePrint "未知错误"
- Case "not_login"
- TracePrint "没有登录"
- Case "not_found_project"
- TracePrint "没有找到项目"
- Case "not_found_moblie"
- TracePrint "没有找到手机号"
- Case "login_error"
- TracePrint "登录错误(请检查用户名或密码)"
- Case "mobile_exists"
- TracePrint "手机号己存在"
- Case "not_receive"
- TracePrint "还没有接收到验证码,请让程序等待几秒后再次尝试"
- Case "parameter_error"
- TracePrint "传入参数错误"
- Case "no_data"
- TracePrint "没有数据"
- Case "project_state_error"
- TracePrint "项目状态不对,可能项目还没通过审核"
- Case "mobile_state_error"
- TracePrint "手机号状态不对"
- Case "sms_content_exists"
- TracePrint "短信内容已经提交过,不能重复提交"
- Case "watting_send"
- TracePrint "正在发送短信"
- Case "send_content_error"
- TracePrint "提交要发送的短信内容格式错误"
- Case "max_count_disable"
- TracePrint "已经达到了可以获取手机号的最大数量"
- Case Else
- FQ_IsOK = True
- End Select
- End Function
- //一个简单的调用方法模版:
- token = FQ_Login("xywhsoft", "52161314")
- // 取号码
- phone = FQ_GetTel(21)
- TracePrint phone
- // 手机验证
- Do
- Delay 5000
- 验证码 = FQ_GetVCode(phone, 21, "", False)
- If 验证码 <> "" Then
- 验证码 = Mid(验证码, 9, 6)
- Call Plugin.Web.HtmlInput(验证码, "id:strVcode")
- Exit Do
- End If
- Loop
复制代码
- 您所在的用户组无法下载或查看附件
谢谢大家阅读,记得给小编送支花花 ! 顺手点个赞
[tr=rgb(143, 188, 143)] |
按键精灵免费公开课
| 实战班:回合制通用教学火热报名 | 【听课对象】:对按键精灵感兴趣的同学们都可以来~ 【上课地点】:零基础学按键精灵群(372671254) 【上课时间】:周天晚上19:30-21:00 【上课内容】:按键精灵脚本基础经验谈——图色命令
| 本期重点:回合制游戏--神武 学习时效:终生有效 上课时间:周2、周4、周6的 20:00--22:00 导师:工程师07 技术支持:果儿(院刊编辑) | 点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403
|
- 您所在的用户组无法下载或查看附件
|