上代码
话不多说,我们直接上代码,说明get
不带参数的
# -*- coding:utf-8 -*-
#不带参数的get
import requests
import json
host = "http://httpbin.org/"
endpoint = "get"url = ''.join([host,endpoint])
r = requests.get(url)
print type(r.text)
print (r.json())
运行结果:
{
'origin': '183.14.133.88',
'headers': {
'Connection': 'close',
'Host': 'httpbin.org',
'Accept-Encoding': 'gzip,
deflate',
'Accept': '*/*',
'User-Agent': 'python-requests/2.18.1'
},
'args': {
},
'url': 'http: //httpbin.org/get'
}
带参数的
# -*- coding:utf-8 -*-
import requests
import json
host="http://httpbin.org/get"
params={"show_env":"1"}
r=requests.get(url=host,params=params)
printr.url
返回结果
http://httpbin.org/get?show_env=1
{'origin':'183.14.133.88',
'headers':{
'X-Request-Id':'ebe922b4-c463-4fe9-9faf-49748d682fd7',
'Accept-Encoding':'gzip,deflate',
'X-Forwarded-Port':'80',
'Total-Route-Time':'0',
'Connection':'close',
'Connect-Time':'0',
'Via':'1.1vegur',
'X-Forwarded-For':'183.14.133.88',
'Accept':'*/*',
'User-Agent':'python-requests/2.18.1',
'X-Request-Start':'1504755961007',
'Host':'httpbin.org',
'X-Forwarded-Proto':'http'
},
'args':{'show_env':'1'},
'url':'http: //httpbin.org/get?show_env=1'
}
带header的
# -*- coding:utf-8 -*-
import requests
import json
host="http://httpbin.org/get"
header={"User-Agent":"test request headers"}
r=requests.get(host,headers=header)
print(r.json()['headers']['User-Agent'])
返回结果
test request headers
带参数又带header的
# -*- coding:utf-8 -*-
import requests
import json
host ="http://httpbin.org/get"
headers={"User-Agent":"test request headers"
}params={"show_env":"1"}
r=requests.get(host,headers=headers,params=params)
print(r.json()['headers']['User-Agent'])printr.url
返回结果
test request headers
http://httpbin.org/get?show_env=1
大家从结果中能看出来,get方法的返回信息和post方法是一样的,因为在返回数据类型和返回内容的函数中,post和get方法是共用同一的函数,比如post的返回有json函数,get的返回也有json函数
这里注意的地方是:
1、get方法的数据体,用的参数名称是:params
2、post方法的数据体,用的参数名称是:data
3、post和get方法都需要header,使用方法是一样的
网友评论