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

软件版本: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» / 26
发新话题 回复该主题

掌控POST(2) [复制链接]

1#
本帖最后由 michael3636 于 2015-4-27 19:52 编辑

PART 2



我在PART 1 里面提到过,无论是客户端请求还是服务器反馈,内容都分2个部分:

  • 客户端跟服务器之间的交流内:我们一般把这个称为 头部(Header)
  • 我们请求的和返回的实际内容.我们一般把这部分称为 主体或者内容(Content)

开发工具准备:XHR不是我们想怎么写就怎么写的,要使用它的所有功能,我们离不开辅助工具

  • 火狐+firebug插件 或者 chrome (个人推荐火狐,因为我习惯火狐..哈哈哈)
  • 返回来的源文件我们可以黏贴到记事本看,,但是记事本看起来很麻烦,建议装个Notepad++,这个文本处理器可以把html文件显示得花花绿绿.方便我们查看
  • Fiddler 这个不是必须得,如果你不习惯用浏览器查看数据,你可以装它.超级牛掰的一个http协议抓包工具,它不是必须的

***** 该内容需您回复才可浏览 *****
让我们开始上路吧,用实例说话
  1. URL="http://bbs.anjian.com/forum.php?mod=forumdisplay&fid=17" //按键论坛综合版块的地址
  2. Set http = CreateObject("WinHttp.WinHttpRequest.5.1")//创建XHR对象,这个对象刚诞生,没有cookie,没有缓存一干二净!!!
  3. http.open "GET", url,false//调用open方法(每次请求必须先open)用"GET"方式提交请求,提交请求的网址,异步工作模式:关
  4. http.send //这行才是发送请求,如果上面第三个参数是false,代码到这行就暂停了,直到服务器返回网页代码或者超时(请求失败),代码才会继续往下执行
  5. If Not isEmpty(http.responsetext) Then //如果返回的文本文本格式内容存在
  6. Plugin.Sys.SetCLB http.responsetext//把请求到的源代码放到剪贴板,可以让我们黏贴到文本里检查得到点什么东西,为啥不用messagebox显示,东西太多显示不完嘛
  7. Else
  8. MessageBox "失败"
  9. End If
  10. //此时:对象完成了一次请求,如果成功的话,对象有了按键论坛给它的cookie和缓存,全在对象里,换而言之全在内存里,它不会像浏览器一样根据服务器指示把cookie或者扔硬盘或者扔内存,多干净啊...
复制代码
***** 该内容需您回复才可浏览 *****

那要是没"?"呢?这不是多问么,那不就是POST带着""(空内容)去网址提交数据么.....
多说无益,让俺们用事实来证明吧:把上面的代码改一下下,改成POST
  1. URL = "http://bbs.anjian.com/forum.php" //改成post提交数据的地址("?"前面的哪些)
  2. str ="mod=forumdisplay&fid=17" //把提交的数据放在变量("?"后面的哪些)
  3. Set http = CreateObject("WinHttp.WinHttpRequest.5.1")//创建XHR对象
  4. http.open "POST", url, false//改成POST方式提交
  5. http.setrequestheader "Content-Type", "application/x-www-form-urlencoded" //在header里设置提交提交的数据类型(post方式必须的)
  6. http.setrequestheader "Content-Length",len(str) //在header设置提交的数据的长度,其实就是字符串长度嘛(post方式必须的)
  7. http.send str //开始发送,提交的内容在这呢,..看到米...
  8. If Not isEmpty(http.responsetext) Then
  9. Plugin.Sys.SetCLB http.responsetext
  10. Else MessageBox "失败"
  11. End If
复制代码
事实证明,2者的结果是一样的.我们都得到了按键综合版块的源代码,只不过嘛..POST写起来要比GET多打很多字啊,所以为了少打字,能GET的还是GET吧,不能GET的才去考虑POST

点评

dingojia  这系列帖子,真心极好。厘清了很多问题  发表于 2017/1/17 4:05:27

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

    本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:39:40 执行 审核帖子 操作
    个人收藏
    QQ:2074137818
    2#

    该用户帖子内容已被屏蔽

    欢迎喜欢按键精灵的同学一起探讨游戏脚本制作及思路....另承接 200 元以上脚本,功能范围:各种复杂算法类游戏,寻路,打怪升级,办公自动化,post,无论何种功能需要提前支付三分之一总价作为定金(若功能无法实现则全额退还),本人QQ:765189898
    3#

    学习······················ing

    4#

    受益非浅

    5#

    火狐+firebug插件 或者 chrome (个人推荐火狐,因为我习惯火狐..哈哈哈)

    6#

    隱藏

    7#

    111111111111111

    8#

    掌控POST(

    9#

    23123123123

    10#

    掌控POST(2)

    办公脚本
    自动操作
    网页填表
    数据库
    棋牌类游戏
    游戏练级任务主线
    模拟器,手机app操作脚本定制
    职业作者定制脚本
    11#

    1111111111111111111111111111

    12#

    学习了

    13#


    14#

    邯郸房价走势2016

    15#


    16#

    看看看看

    17#

    呜呜呜呜呜呜呜呜呜呜呜呜

    18#

    :掌控POST(2)修改

    19#

    .........

    20#

    掌控POST(2)

    发新话题 回复该主题