zoukankan      html  css  js  c++  java
  • 分析Http 请求

    1. 分析Http协议信息

    首先需下载一个网络监听软件:Fiddler,然后我们进行安装并打开,软件会自动监80端口,即是 HTTP通讯协议端口,把我们访问每一个网站的请求都会被记录下来。

    拦截了HTTP所有请求信息, 下面我们来选中已经拦截到访问的或提交的页面,点击右边的  选项卡  子选项,然后会看到类似下面这样的Http请求信息头:

    1)分析GET方式

    GET请求信息:

    //请求的URL地址
    GET http://xxx.xxx.com/10.aspx?id=2
    //请求HTTP的类型
    HTTP/1.1
    //浏览器可解析的格式, */*代表任何格式都可以,包括所有文档格式,例如Hhtml,Image,Wml都属于范围内
    Accept: */*
    //上级访问页面地址
    Referer: http://demo.powereasy.net/
    //浏览器所属地区语言
    Accept-Language: zh-CN
    //浏览器的信息
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)
    //表示可以接收的编码格式,其中带有gzip则代表可以接收压缩的二进制编码文档
    Accept-Encoding: gzip, deflate
    //请求主机
    Host: demo.powereasy.net
    //连接的状态类型
    Connection: Keep-Alive
    //这个就是请求的Cookie信息,它不但能够存储临时常用信息,而且还是存放SessionID的地方
    Cookie: UN=caeken; __gads=ID=6a9e1b703643f529:T=1288593931:S=ALNI_Mas3BBbquE6VVRzJuSRF_t6GowlCA; cnt_uid_www=443c1251113c777b15f6ff80f34b5ae9; __message_sys_msg_id=764; __message_gu_msg_id=0; __message_cnel_msg_id=0; __message_in_school=0; LastVisitedForum=3036657c-277c-476c-982d-75f154e09050*3036657c-277c-476c-982d-75f154e09050
    GET返回信息:
    这些信息由客户端发送到服务器的请求信息,接下来我们分析一下服务器返回的信息头:
    //请求状态
    HTTP/1.1 200 OK
    //服务类型
    Server: nginx/0.7.65
    //处理信息的日期时间
    Date: Thu, 11 Nov 2015 02:48:26 GMT
    //文档格式和语言编码
    Content-Type: text/html; charset=utf-8
    //连接状态
    Connection: keep-alive
    //内容长度
    Content-Length: 161
    
    //返回HTML信息
    document.write('<li><a target="_blank" href="#" onclick="LogClickCount(this,165);">示例</a></li>');

    (2)分析POST方式

    我们通常都把表单提交的方式都设为POST请求方式

    POST http://zzz.xxx.com/Login.aspx HTTP/1.1
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*
    Accept-Language: zh-cn,en;q=0.5
    Content-Type: application/x-www-form-urlencoded
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQPinyin 730; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; .NET4.0C; .NET4.0E)
    Host: zzz.xxx.com
    Content-Length: 683
    Connection: Keep-Alive
    Pragma: no-cache
    Cookie: ASP.NET_SessionId=o5smmubh3cxhd4vs3jzc21sb; ClientKey=40b7dfb5-b1eb-4f91-91ae-018b4f384c9d
    
    //这里就是提交表单的详细信息;数据在报文体中提交
    __LASTFOCUS=&&__VIEWSTATE=%2FwEPBXxlTnI3ejhqUHlxMXJhRzVwWm1ScVptbG15cDhpeHNURURDVFptRmo1K2NXWTVBU2Q4L05LaXZKelF2TERFbk15VXhKTFVsazVDc3dzakxKTTBpeFNVcGpZUUlya0dWZzVvVUpaQmtCQmRxZ2dGMHpNeUNnbEJRQ2hveFpoGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQlJYnRuRW50ZXKQ4XrnXRpYSLnjHShJa6adUxfAJg%3D%3D&__EVENTVALIDATION=%2FwEWBQKH2573BwKtiIODCgLG7PzDDQKv9dqIDwK%2F%2BoyFDI4kI9dsW1GGISQ51mtFzgj9HeYA&p682j4f8=admin&682j4f8j0=123456&82j4f8j022=8888&IbtnEnter.x=21&IbtnEnter.y=2

     GET与POST区别:

    GET安全性较低,POST安全性较高。因为GET在传输过程,数据被放在请求的URL中;GET传送参数值是有限制的,只能用于从服务器上传送较少的数据和获取数据。而POST是在报文体中向服务器传送数据的,理论上来说POST数据是没有限制的,起限制作用的是服务器处理程序的处理能力,因此提交复杂数据可以使用POST方法。

  • 相关阅读:
    自定义UITableViewCell
    使用NSOperation实现异步下载
    iOS中判断一个文件夹是否存在
    iphone下载进度条,显示下载字节数与百分比
    NSURLConnection下载文件并显示进度(HEAD)
    iphone 模拟器 显示 隐藏的资源库
    iOS使用NSURLConnection发送同步和异步HTTP Request
    NSFileManager和NSFileHandle(附:获取文件大小 )
    xcode4.2设立Created by &MyCompanyName_
    iphone开发之轻松搞定原生socket 编程,阻塞与非阻塞,收发自如
  • 原文地址:https://www.cnblogs.com/entclark/p/8613681.html
Copyright © 2011-2022 走看看