一、HTTP入门
1、什么是http协议
http协议即按一定规则,客户端向服务器发送数据,而服务器按一定规则回应数据。
2、HTTP请求信息和响应信息
请求:
(1) 请求行
请求方法:
有GET、POST、HEAD、PUT、DELETE、PATCH、OPTIONS、TRACE等。
HEAD 和 GET 基本一致,只是不返回内容。 比如我们只是确认一张图片是否还存在,不需要返回这张图片。
TRACE:是使用了代理上网,比如用代理访问www.baidu.com,你想看看代理有没有修改你的HTTP请求,可以用TRACE来测试一下,www.baidu.com的服务器就会把最后收到的请求返回给你。
OPTIONS:返回服务器可用的请求方法。
请求路径:
URL的一部分。
请求所用的协议版本:
所用协议目前一般是HTTP/1.1,0.9和1.0已经基本不用。
2. 请求头信息
3. 请求主体信息(可以没有)
如果请求是post请求,就需要有请求体信息,并且要有Content-length(请求体信息长度)和Content-type(请求体信息类型)这两个字段。
举个栗子:
POST /lalala/01.html HTTP/1.1
HOST: localhost
Content-type: application/x-www-form-urlencoded
Content-length: 5
age=3
响应:
1. 响应行
(1) 协议版本
(2) 状态码
用来反应服务器响应情况的。
最常见的有:
200 OK 请求成功
302 Found 重定向
304 Not Modified 请求资源未修改,从浏览器缓存中获取
307 重定向中还保存原有的请求数据
404 NOT FOUND 请求资源未找到
(3) 状态文字
用来描述状态码,便于观察。
2. 响应头信息
3. 响应体信息
举个栗子:
HTTP/1.1 200 OK
Content-type: text/html
Content-length: 5
hello
二、httpie的优势
1、语法简单,易于表达
2、格式化和可定制的终端输出
3、兼容Linux、MacOS、Windows操作系统
三、httpie安装下载
1.pip的安装
由于我们使用python作为后端,python捆绑的pip可以很方便地下载httpie。
如果没有捆绑下载pip,可以在https://pypi.org/project/pip/上下载pip。
2.pip安装工具的更新
我们用cmd打开命令行,输入pip install --upgrade pip setuptools可以更新pip安装工具。
3.pip下载httpie
在命令行中输入pip install --upgrade httpie可以下载或更新httpie
四、httpie使用
1、httpie的语法与参数
http [flags] [METHOD] URL [ITEM [ITEM]]
2、简单使用
例子:http http://localhost:80/login
简写:http :/login
提示:http://localhost和端口号(80)可以省略
3、请求例子
#显示请求信息(包含返回头200)
http mimvp.com
#显示详细的请求(包含请求和返回头200)
http -v mimvp.com
#只显示Header
http -h mimvp.com
http --head mimvp.com
http --header mimvp.com
http --headers mimvp.com
#只显示Body
http -b mimvp.com
http --body mimvp.com
#下载文件
http -d mimvp.com
#模拟提交表单
http -f POST mimvp.com username='mimvp-user'
#请求删除的方法
http DELETE mimvp.com
#传递JSON数据请求(默认就是JSON数据请求)
http PUT mimvp.com username='mimvp-user' password='mimvp-pwd'
#如果JSON数据存在不是字符串则用:=分隔,例如
http PUT mimvp.com username='mimvp-user' password='mimvp-pwd' age:=28 a:=true streets:='["a", "b"]'
#模拟Form的Post请求, Content-Type: application/x-www-form-urlencoded; charset=utf-8
http --form POST mimvp.com username='mimvp-user'
#模拟Form的上传, Content-Type: multipart/form-data
http -f POST example.com/jobs username='mimvp-user' file@~/test.pdf
#修改请求头, 使用:分隔
http mimvp.com User-Agent:mimvp-agent/1.0 'Cookie:a=b;b=c' Referer:http://mimvp.com/
#认证
http -a username:password mimvp.com
http --auth-type=digest -a username:password mimvp.com
#使用http代理
http --proxy=http:http://217.107.197.174:8081 proxy.mimvp.com
http --proxy=http:http://user:pass@217.107.197.174:8081 proxy.mimvp.com
http --proxy=https:http://112.114.96.34:8118 proxy.mimvp.com
http --proxy=https:http://user:pass@112.114.96.34:8118 proxy.mimvp.com
一、HTTP入门1、什么是http协议http协议即按一定规则,客户端向服务器发送数据,而服务器按一定规则回应数据。2、HTTP请求信息和响应信息请求:(1)请求行请求方法: 有GET、POST、HEAD、PUT、DELETE、PATCH、OPTIONS、TRACE等。 HEAD和GET基本一致,只是不返回内容。比如我们只是确认一张图片是否还存在,不需要返回这张图片。 TRACE:是使用了代理上网,比如用代理访问www.baidu.com,你想看看代理有没有修改你的HTTP请求,可以用TRACE来测试一下,www.baidu.com的服务器就会把最后收到的请求返回给你。
你好,我正在尝试测试token身份验证,我已经按照下面的教程使用httpie通过DRF实现了link以下命令:httpGET127.0.0.1:8000/api/projects/'Authorization:Tokenb453919a139448c5891eadeb14bf1080a2624b03'产生以下错误。usage:http[--json][--form][--pretty{all,colors,format,none}][--styleSTYLE][--printWHAT][--headers][--body][--verbose][--all][--history-pri
我正在尝试使用HTTPie解析以发送一些嵌套的JSON对象,但我找不到如何。很清楚如何发送JSON对象而不是嵌套对象,例如{"user":{"name":"john""age":10}} 最佳答案 2022年1月发布的HTTPie3.0更新:现在使用HTTPie语言内置了对嵌套JSON的支持:$httppie.dev/post\tool[name]=HTTPie\tool[about][homepage]=httpie.io\tool[about][mission]='MakeAPIssimpleandintuitive'\tool
我正在尝试使用HTTPie解析以发送一些嵌套的JSON对象,但我找不到如何。很清楚如何发送JSON对象而不是嵌套对象,例如{"user":{"name":"john""age":10}} 最佳答案 2022年1月发布的HTTPie3.0更新:现在使用HTTPie语言内置了对嵌套JSON的支持:$httppie.dev/post\tool[name]=HTTPie\tool[about][homepage]=httpie.io\tool[about][mission]='MakeAPIssimpleandintuitive'\tool