手动构造HTTP请求实例讲解

通过本文,你能明白:

        1. HTTP 数据请的的方式GET与POST;

        2. GET与POST请求体的结构;

        3. 常用的HTTP请求头及其意义。

1. 带参数的普通页面请求

如果我们想向百度请求查询关键字“你好世界”并将结果页返回。
GET方式
浏览器地址栏中直接输入:http://www.baidu.com/s?wd=%C4%E3%BA%C3%CA%C0%BD%E7,wd后的内容即是我们想查询的“你好世界”,其内容请务必进行URIEncode。Encode的编写这里是GBK,这与请求的WEB服务器接收的编码有关,如果不手动进行encode,浏览器也会帮你encode的,如Chrome默认的encode是UTF-8,如果对方器恰好只支持GBK的话,那么就悲剧了。例如虽然百度GBK与UTF-8都支持,但我们以UTF-16进行编码的话,结果就是:




如果有多个数据的话,可以使用“&”进行连接,如:http://www.baidu.com/s?wd=%C4%E3%BA%C3%CA%C0%BD%E7&type=image。尽管RFC2616没有对请求的参数进行限制,每种浏览器或WEB服务器对它的限制也不同,但最安全是不超过255Bytes[http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1]。

===============================延伸阅读================================
+许多web服务器或代理服务器会以日志方式记录下访问的URL,因此使用GET进行敏感数据传输是一件非常不理智的事。
+MSIE与Safari对URL长度的限制大约是2KB,Opera则是4KB,Firefox大约是8KB

=============================================================
POST方式——application/x-www-form-urlencoded 方式
这里我们使用Fiddler来构造请求,同上,向www.renren.com发送相同的请求。



  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值