脚本内容
# -*- coding:utf-8 -*-
import requests
import json
data = {
'name':'germary',
'age':22
}
r = requests.get('http://httpbin.org/get',params=data)
print('************************************')
print(type(r))
print(r)
print('返回码:'+str(r.status_code))
print('************************************')
print(type(r.text))
print(r.text)
print('************************************')
print(type(r.json()))
print(r.json())
print('************************************')
print json.dumps(r.json(),encoding='UTF-8',ensure_ascii=False)
执行脚本返回的信息
请求的链接自动被构成了:http://httpbin.org/get?name=germery&age=22
[root@VM-0-10-centos python]# python -V
Python 2.7.5
[root@VM-0-10-centos python]# python request.py
************************************
<class 'requests.models.Response'>
<Response [200]>
返回码:200
************************************
<type 'unicode'>
{
"args": {
"age": "22",
"name": "germary"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1160.11.1.el7.x86_64",
"X-Amzn-Trace-Id": "Root=1-612b4eff-011a56de5e4ecc575f4d32f6"
},
"origin": "121.4.92.12",
"url": "http://httpbin.org/get?age=22&name=germary"
}
************************************
<type 'dict'>
{u'origin': u'121.4.92.12', u'headers': {u'X-Amzn-Trace-Id': u'Root=1-612b4eff-011a56de5e4ecc575f4d32f6', u'Host': u'httpbin.org', u'Accept-Encoding': u'gzip, deflate', u'Accept': u'*/*', u'User-Agent': u'python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1160.11.1.el7.x86_64'}, u'args': {u'age': u'22', u'name': u'germary'}, u'url': u'http://httpbin.org/get?age=22&name=germary'}
************************************
{"origin": "121.4.92.12", "headers": {"X-Amzn-Trace-Id": "Root=1-612b4eff-011a56de5e4ecc575f4d32f6", "Host": "httpbin.org", "Accept-Encoding": "gzip, deflate", "Accept": "*/*", "User-Agent": "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1160.11.1.el7.x86_64"}, "args": {"age": "22", "name": "germary"}, "url": "http://httpbin.org/get?age=22&name=germary"}
[root@VM-0-10-centos python]# python3 -V
Python 3.6.8
[root@VM-0-10-centos python]# python3 request.py
File "request.py", line 25
print json.dumps(r.json(),encoding='UTF-8',ensure_ascii=False)
^
SyntaxError: invalid syntax
[root@VM-0-10-centos python]
知识点:
1,状态码的获取 print('返回码:'+str(r.status_code))
2,python如何输出汉字 # -*- coding:utf-8 -*-
3,requests 模块的使用 import requests
4,json 模块的使用将下面返回json字符串中的u' 去掉,python2中需要添加,python3无需添加,加上会报错 print json.dumps(r.json(),encoding='UTF-8',ensure_ascii=False)
{u'origin': u'121.4.92.12', u'headers': {u'X-Amzn-Trace-Id': u'Root=1-612b4ae6-51e1fe2517860c0845b1de66', u'Host': u'httpbin.org', u'Accept-Encoding': u'gzip, deflate', u'Accept': u'*/*', u'User-Agent': u'python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-1160.11.1.el7.x86_64'}, u'args': {u'age': u'22', u'name': u'germary'}, u'url': u'http://httpbin.org/get?age=22&name=germary'}
5,requests 模块如何将data数据使用拼接 r = requests.get('http://httpbin.org/get',params=data)