三种传参方式
- params
params:字典或者字节序列,作为参数增加到URL中,即params是往url后面添加参数,与requests.get连用。
import requests
url = 'http://www.baidu.com'
test = 'python'
res = requests.get(url=url,params=test)
print(res.status_code) # 返回200
- data
data的对象则是python中的字典类型,常见的form表单可以直接使用data参数进行报文提交,data与requests.post连用
import requests
def risk(uuid,loanid):
"""
测试
:param uuid:
:param loanid:
:return:
"""
url = clotho + "/test"
headers = {"Content-Type":"application/x-www-form-urlencoded"}
body = {"code" :0,
"msg": "success",
"bizChannel": "1",
"uuid": uuid,
"bizNo": loanid,
"deadLine": "1548518400"
}
# print(url,body,headers)
res = requests.post(url=url,headers=headers,data=body)
return res.status_code
- json
当传递的参数是json格式时,使用json传参,json与requests.post连用
import requests
def searchUserInfo(phoneNo):
"""
查询用户 uuid loanid
:param phoneNo:
:return:
"""
url = queryJolyne + "/xyqb"
headers = {"Content-Type": "application/json"}
body = {"sql": [
"select u.uuid,l.id from user u inner join loan l on u.id=l.`user_id` where u.`phone_no`=%s order by l.id desc limit 1;" % phoneNo ]}
res = requests.post(url=url,headers=headers,json=body)
rs = res.json()["data"]
# rs是个列表,将列表转换成字符串的办法
rs_str = " ".join(str(i) for i in rs)
rs_str = rs_str.split(",")
print(rs_str)
uuid = rs_str[0]
loanid = rs_str[1]
return uuid,loanid
json与字典的区别
- json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);
- json的key可以是有序、重复的;dict的key不可以重复。
- json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象。
- json的字符串强制双引号,dict字符串可以单引号、双引号;
- dict可以嵌套tuple,json里只有数组。
- json:true、false、null;python:True、False、None
- json的类型是字符串,字典的类型是字典。
网友评论