加QQ81758415
快捷导航

详解XMLHTTP中setRequestHeader方法和参数

[复制链接]
查看: 5823|回复: 0

3万

主题

0

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
发表于 2016-3-23 00:00:00 | 显示全部楼层 |阅读模式


       
               
                        一、为何要用到setRequestHeader
               

               
                        通常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,告诉服务器客户端要下载什么信息以及相关的参数。而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。 但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了
               

               
                        setRequestHeader 方法。
               

               
                        二、setRequestHeader参数详解使用GET下列参数 XMLObject.setRequestHeader ("CONTENT-TYPE", "application/x-www-form-urlencoded" ) 代表的意义:
               

               
                        GET /bb.asp?www=1234 HTTP/1.1 Accept: */* Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) CONTENT-TYPE:application/x-www-form-urlencoded Host:ourys.com Connection: close Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII
               

               
                        注: 1、CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示
               

               
                        2、当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data 至于:Content-length 就是表示提交的数据字节大小 http有几种提交方式,其中比较常用的就是 GET 和 POST
               

               
                        3、这个标志就放在HTTP头开头的地方,这样讲容易理解点 GET 方式是没有提交内容的,所以 Content-length 在 GET 模式下是无效的. GET 传参数的方式就是通过虚拟地址传送,如: GET /bb.asp?www=1234 HTTP/1.1 参数全部就只有 "www=1234" 这么多
               

               
                        4、如果用POST的话就有些不同,POST是将参数放到HTTP后面的,就以上面的HTTP作范例,用POST的方法传参数
               

               
                        POST /bb.asp HTTP/1.1
               

               
                        Accept: */*
               

               
                        Accept-Language: zh-cn
               

               
                        UA-CPU: x86
               

               
                        Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
               

               
                        CONTENT-TYPE:application/x-www-form-urlencoded
               

               
                        Host: ourys.com
               

               
                        Content-length: 8
               

               
                        Connection: close
               

               
                        Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII
               

               
                        www=1234
               

               
                        这时,数据就需要说明字节大小了
               

               
                        至于 Connection: Close,很明显英文的意思是 连接:关闭 只是客户端在提交数据时告诉服务器让谁先关闭连接而已。
               

               
                        三、PS: setRequestHeader方法只是XMLHTTP为添加或修改HTTP头提供的一个接口方法而已, 至于里面的值则是HTTP协议的含义,当然也可以发自己的东西进去,即使IIS不能识别你的信息也不会报错 如: setRequestHeader ("MyName", "Supermanking" )
               

               
                        虽然IIS不会报错,但这个信息也可以有用,可以在ASP程序里读取HTTP头信息分析是否有 MyName: Supermanking 信息,可根据你的需求来做处理
               

               

               
       


       

           

免责声明:

本站所发布的任何软件,全部来源于互联网,版权争议与本站无关。仅供技术交流,文献参考,如有侵权或不合适,请联系本人进行删除。学习网络技术是为了更好的提升自我安全意识。不允许将内容私自传播、销售或者其他任何非法用途!如有其它不良行为,本站会积极配合公安做好相关调查取证工作!

黑客联盟-www.545n.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

让创业更简单

  • 反馈建议:hackhl@outlook.com
  • 客服电话:暂时没有
  • 工作时间:周一到周五9点~22点

云服务支持

黑客联盟,快速搜索

关注我们

Copyright 黑客联盟安全防护网  Powered by©  技术支持:    ( 闽ICP备18000419号-1 )