前面我们完成了在github上做GET和PATCH的实战练习。这篇,我们来学习一下,POST的请求练习。通过前面文章介绍,github中POST请求的参数也是json格式。具体来看下面的步骤。
1.打开user/emails接口文档部分
从这个接口文档来看,email,我们写到json中去。例如我们添加一个邮件,json=['testacb@test.com']
2. 该POST方法具体实现
import json
import requests
URL = 'https://api.github.com'
def build_uri(endpoint):
return '/'.join([URL, endpoint])
def better_output(json_str):
return json.dumps(json.loads(json_str), indent=4)
def request_method():
response = requests.post(build_uri('user/emails'), auth=('xx@msn.com', 'password'),
json=['5xxxx1@qq.com'])
print(better_output(response.text)) # 调用json更好格式输出
print(response.request.headers)
print(response.request.body)
if __name__ == '__main__':
request_method()
3.运行结果
[
{
"email": "anxxxxx@msn.com",
"primary": true,
"verified": true,
"visibility": "public"
},
{
"email": "57xxxxxx1@qq.com",
"primary": false,
"verified": false,
"visibility": null
},
{
"email": "57xxxx1@qq.com",
"primary": false,
"verified": false,
"visibility": null
}
]
{'User-Agent': 'python-requests/2.18.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '20',
'Content-Type': 'application/json', 'Authorization': 'Basic YW5kYW5nbHlnQG1zbi5jb206Y2EkaGMwd0E='}
b'["57xxxxx1@qq.com"]'
Process finished with exit code 0
4.UI上验证
点击用户下settings,然后点击email,观察。如下图