一,HTTP请求
1.HTTP请求组成部分
HTTP请求信息由3部分组成:(1)请求方法URI协议/版本(2)请求头(Request Header)(3)请求正文
(1)请求方法URI协议/版本
请求的第一行是“方法URI协议/版本”例如:GET/sample.jsp HTTP/1.1
以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。
(2)请求头(Request Header)
请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。例如:
Accept:image/gif.image/jpeg.*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)
Accept-Encoding:gzip,deflate.
(3)请求正文
请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:
username=jinqiao&password=1234
2.如何用Chrome开发者工具查看 HTTP 请求内容
用 Chrome 发请求
打开 Network
地址栏输入网址
在 Network 点击,查看 request,点击「view source」
点击「view source」
就可以看到请求的前三部分了
如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
requestHeader.png viewSource.png二,HTTP响应
!!!HTTP 响应包括哪些部分,如何用Chrome开发者工具查看 HTTP 响应内容
1、HTTP响应组成
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。如下图所示:
2.如何用 Chrome 查看HTTP响应内容
打开 Network
输入网址
选中第一个响应
查看 Response Headers,点击「view source」,你会看到响应的前两部分
responseHeader.png查看 Response 或者 Preview,你会看到响应的第 4 部分
preview.png三,curl命令
(1)简介curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST,PUT等方法,FTP上传,kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。
(2)curl的常用选项:
-A/--user-agent <string> 设置用户代理发送给服务器,即告诉服务器浏览器为什么
-basic 使用HTTP基本验证
--tcp-nodelay 使用TCP_NODELAY选项
-e/--referer <URL> 来源网址,跳转过来的网址
--cacert <file> 指定CA证书 (SSL)
--compressed 要求返回是压缩的形势,如果文件本身为一个压缩文件,则可以下载至本地
-H/--header <line>自定义头信息传递给服务器
-I/--head 只显示响应报文首部信息
--limit-rate <rate> 设置传输速度
-u/--user <user[:password]>设置服务器的用户和密码
-0/--http1.0 使用HTTP 1.0
(3)使用实例
1、抓取cokkie信息到一个文件中
curl -c cookie0.txt -d "username=****&password=***" http://www.kuaipan.cn/accounts/login/
2、get方法获取信息
curl -G -I -o xsrf.txt -b cookie1.txt -c cookie2.txt http://web.kuaipan.cn/n/drive/home.tmpl/upload
网友评论