• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

返回列表 12345678» / 20
发新话题 回复该主题

[技术交流] 【院刊】-【201505期】GET、POST初解析 [复制链接]

1#

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—下载网页文件以字符串的形式保存或保存到磁盘相应目录下:


  1. /*
  2. 下载网页文件,结果以字符串形式返回
  3. 原作者 : BlackGlory
  4. url : 链接地址
  5. */
  6. Function download(url)
  7. Dim xmlHttp
  8. Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
  9. url = urlCheck(url)
  10. xmlHttp.open "get", url, False
  11. xmlHttp.send
  12. Do
  13. Loop Until xmlHttp.readyState = 4
  14. download = xmlHttp.responseText
  15. Set xmlHttp = Nothing
  16. End Function
  17. /*
  18. 下载网页文件,保存到磁盘
  19. 原作者 : BlackGlory
  20. url : 链接地址
  21. filename : 保存文件路径
  22. */
  23. Sub downloadFile(url, filename)
  24. Dim xmlHttp, aso
  25. Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
  26. url = urlCheck(url)
  27. xmlHttp.open "get", url, False
  28. xmlHttp.send
  29. Do
  30. Loop Until xmlHttp.readyState = 4
  31. Set aso = CreateObject("Adodb.Stream")
  32. aso.Type = 1
  33. aso.mode = 3
  34. aso.open
  35. aso.write (xmlHttp.responseBody)
  36. aso.SaveToFile filename, 2
  37. aso.Close
  38. Set aso = Nothing
  39. Set xmlHttp = Nothing
  40. End Sub
复制代码



代码2—获取某网页板块下的所有内容:

  1. /*
  2. HttpGet
  3. 原作者 : BlackGlory
  4. url : 链接地址
  5. */
  6. Function getHttp(url)
  7. getHttp = download(url)
  8. End Function

  9. /*
  10. HttpPost
  11. 原作者 : BlackGlory
  12. url : 链接地址
  13. parameter : post参数
  14. */
  15. Function postHttp(url, parameter)
  16. Dim xmlHttp, aso
  17. Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
  18. url = urlCheck(url)
  19. xmlHttp.open "post", url, False
  20. xmlHttp.setrequestheader "content-type", "application/x-www-form-urlencoded"
  21. xmlHttp.send parameter
  22. Do
  23. Loop Until xmlHttp.readyState = 4
  24. postHttp = xmlHttp.responseText
  25. Set xmlHttp = Nothing
  26. End Function
  27. Function urlCheck(url)
  28. If Left(url, 7) <> "http://" Then
  29. url = "http://" & url
  30. End If
  31. urlCheck = url
  32. End Function
复制代码




飞q实例应用



 


飞q手机验证码自动接收系统介绍
该系统可以实现手动获取各大网站的手机验证码,
通过post我们可以不需要打开网址的情况下就能获取到



下面是相关整体代码示例:

  1. Function postHttp(url, parameter)
  2. Dim xmlHttp, aso
  3. Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
  4. url = urlCheck(url)
  5. xmlHttp.open "post", url, False
  6. xmlHttp.setrequestheader "content-type", "application/x-www-form-urlencoded"
  7. xmlHttp.send parameter
  8. Do
  9. Loop Until xmlHttp.readyState = 4
  10. postHttp = xmlHttp.responseText
  11. Set xmlHttp = Nothing
  12. End Function
  13. Function urlCheck(url)
  14. If Left(url, 7) <> "http://" Then
  15. url = "http://" & url
  16. End If
  17. urlCheck = url
  18. End Function
  19. /*
  20. 飞Q手机验证平台API
  21. 功能 : 登录
  22. 参数 : uid[用户名] pwd[密码]
  23. 返回 : 成功返回 token,失败返回空字符串 ""
  24. */
  25. Function FQ_Login(uid, pwd)
  26. PostParam = "action=loginIn&uid={$uid}&pwd={$pwd}"
  27. PostParam = Replace(PostParam, "{$uid}", uid)
  28. PostParam = Replace(PostParam, "{$pwd}", pwd)
  29. RetStr = postHttp("http://sms.xudan123.com/do.aspx", PostParam)
  30. If FQ_IsOK(RetStr) Then
  31. FQ_Login = Split(RetStr, "|")(1)
  32. Else
  33. FQ_Login = ""
  34. End If
  35. End Function
  36. /*
  37. 飞Q手机验证平台API
  38. 功能 : 获取号码
  39. 参数 : pid[项目ID]
  40. 返回 : 成功返回 手机号,失败返回空字符串 ""
  41. */
  42. Function FQ_GetTel(pid)
  43. PostParam = "action=getMobilenum&pid={$pid}"
  44. PostParam = Replace(PostParam, "{$pid}", pid)
  45. RetStr = postHttp("http://sms.xudan123.com/do.aspx", PostParam)
  46. If FQ_IsOK(RetStr) Then
  47. TracePrint RetStr
  48. FQ_GetTel = Split(RetStr, "|")(0)
  49. Else
  50. FQ_GetTel = ""
  51. End If
  52. End Function
  53. /*
  54. 飞Q手机验证平台API
  55. 功能 : 获取验证码
  56. 参数 : tel[手机号码] pid[项目ID] uid[开发者用户名(分成用)] del[是否继续使用这个号码]
  57. 返回 : 成功返回 手机号,失败返回空字符串 ""
  58. */
  59. Function FQ_GetVCode(tel, pid, uid, del)
  60. PostParam = "action={$tpe}&mobile={$tel}{$pid}&author_uid={$uid}"
  61. If Del Then
  62. PostParam = Replace(PostParam, "{$tpe}", "getVcodeAndHoldMobilenum")
  63. PostParam = Replace(PostParam, "{$pid}", "&next_pid=" & pid)
  64. Else
  65. PostParam = Replace(PostParam, "{$tpe}", "getVcodeAndReleaseMobile")
  66. PostParam = Replace(PostParam, "{$pid}", "")
  67. End If
  68. PostParam = Replace(PostParam, "{$tel}", tel)
  69. PostParam = Replace(PostParam, "{$uid}", uid)
  70. RetStr = postHttp("http://sms.xudan123.com/do.aspx", PostParam)
  71. If FQ_IsOK(RetStr) Then
  72. FQ_GetVCode = Split(RetStr, "|")(1)
  73. Else
  74. FQ_GetVCode = ""
  75. End If
  76. End Function
  77. /*
  78. 飞Q手机验证平台API
  79. 功能 : 通用返回值验证
  80. 参数 : ies[返回字串]
  81. 返回 : 成功返回 True ,否则返回 False 并输出错误信息
  82. 说明 : 内部函数
  83. */
  84. Function FQ_IsOK(ies)
  85. FQ_IsOK = False
  86. 返回值=split(ies,"|")
  87. Select Case 返回值(0)
  88. Case "message"
  89. TracePrint "账户可使用余额不足,需充值"
  90. Case "unknow_error"
  91. TracePrint "未知错误"
  92. Case "not_login"
  93. TracePrint "没有登录"
  94. Case "not_found_project"
  95. TracePrint "没有找到项目"
  96. Case "not_found_moblie"
  97. TracePrint "没有找到手机号"
  98. Case "login_error"
  99. TracePrint "登录错误(请检查用户名或密码)"
  100. Case "mobile_exists"
  101. TracePrint "手机号己存在"
  102. Case "not_receive"
  103. TracePrint "还没有接收到验证码,请让程序等待几秒后再次尝试"
  104. Case "parameter_error"
  105. TracePrint "传入参数错误"
  106. Case "no_data"
  107. TracePrint "没有数据"
  108. Case "project_state_error"
  109. TracePrint "项目状态不对,可能项目还没通过审核"
  110. Case "mobile_state_error"
  111. TracePrint "手机号状态不对"
  112. Case "sms_content_exists"
  113. TracePrint "短信内容已经提交过,不能重复提交"
  114. Case "watting_send"
  115. TracePrint "正在发送短信"
  116. Case "send_content_error"
  117. TracePrint "提交要发送的短信内容格式错误"
  118. Case "max_count_disable"
  119. TracePrint "已经达到了可以获取手机号的最大数量"
  120. Case Else
  121. FQ_IsOK = True
  122. End Select
  123. End Function

  124. //一个简单的调用方法模版:
  125. token = FQ_Login("xywhsoft", "52161314")
  126. // 取号码
  127. phone = FQ_GetTel(21)
  128. TracePrint phone
  129. // 手机验证
  130. Do
  131. Delay 5000
  132. 验证码 = FQ_GetVCode(phone, 21, "", False)
  133. If 验证码 <> "" Then
  134. 验证码 = Mid(验证码, 9, 6)
  135. Call Plugin.Web.HtmlInput(验证码, "id:strVcode")
  136. Exit Do
  137. End If
  138. Loop
复制代码

您所在的用户组无法下载或查看附件










 



谢谢大家阅读,记得给小编送支花花 ! 顺手点个



[tr=rgb(143, 188, 143)]

按键精灵免费公开课


实战班:回合制通用教学火热报名

【听课对象】:对按键精灵感兴趣的同学们都可以来~
【上课地点】:零基础学按键精灵群(372671254)
【上课时间】:周天晚上19:30-21:00
【上课内容】:按键精灵脚本基础经验谈——图色命令

本期重点:回合制游戏--神武
学习时效:终生有效
上课时间:周2、周4、周6的 20:00--22:00
导师:工程师07
技术支持:果儿(院刊编辑)
点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403





您所在的用户组无法下载或查看附件




    已有9评分我要评分查看所有评分

    本主题由 超级版主 瑞祥幽冥狼 于 2023/10/6 17:33:27 执行 审核帖子 操作
    按键学院免费交流群:376122403

    按键学院招生计划
    按键学院系统教程
    2#

    要学习一下

    接单,收徒,脚本辅助定制,Q:960502043
    接单,收徒,脚本辅助定制,Q:960502043
    接单,收徒,脚本辅助定制,Q:960502043
    3#

    HGHHHHHHHHHHHHHHHHHHH

    4#

    学习一下。

    5#


    6#


    7#

    飞q实例应用

    8#

    {:5_129:

    向着VB迈步!!虽然还是菜鸟???
    9#

    进来看看就走.

    10#

    555555555555

    11#

    想了解这方面的

    12#

    学习

    13#

    SCSCSCSCSCSC

    14#

    w偶的神啊

    15#

    学习下。

    16#

    -【201505期】GET、POST初解析修

    17#

    欠我我往往是都到达

    18#

    55555555555

    19#

    hahahah

    20#

    fffffffffffffff

    发新话题 回复该主题