requests content decode_requests接口测试

requests工作原理

v2-0dbd1786a6d52a24f7e76b17ab144857_b.jpg

通过追踪代码,可以发现requests实际上是调用了request方法,源码如下:

method, url是必填参数,其他是可选参数。

参数method,有GET,OPTIONS,HEAD,POST,PUT,PATCH,DELETE

可选参数可以发送data、json、headers、cookies、flies、auth、timeout、proxies、verify、stream、cert

(一)、get请求:两种方式:

第一种:请求参数保存在url里面,?后面添加参数名字,如果多个参数用&链接
url="http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13049352751"
r=requests.get(url=url)


第二种:请求参数保存在param中,params 参数用字典格式进行保存
url1="http://tcc.taobao.com/cc/json/mobile_tel_segment.htm"
params={
    "tel":13049352751
}
r=requests.get(url=url1,params=params)
print(r.text) #打印返回的正文
print(r.status_code)#打印状态码
print(r.url)
print(r.cookies)

(二)、post请求

第一种:数据传输格式是表单的数据格式,数据是字典保存

import requests




url1="http://backend-alpha.talkline.cn/code/read_code"
data={"account":"+8613049350001"}
r=requests.post(url=url1,data=data)
print(r.text) #打印返回的正文
print(r.status_code)#打印状态码
print(r.url)
print(r.cooki

第二种:数据传输格式是json格式数据,也是用json格式保存

import requests


url1="http://backend-alpha.talkline.cn/code/read_code"
data={"account":"+8613049350001"}


r=requests.post(url=url1,json=data)
print(r.text) #打印返回的正文
print(r.status_code)#打印状态码
print(r.url)
print(r.cookies

(三)、获取登录cookies,并利用cookies跳过登录,访问登录后的页面

以12306例子为例

v2-96658ce1211068a3b4805ee515be308e_b.jpg

v2-80fe7e7fedc587e06a96a3c499ecda59_b.jpg

(四)、header值设置:

import requests
url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2020-10-24&leftTicketDTO.from_station=FZS&leftTicketDTO.to_station=SHH&purpose_codes=ADULT"


# print(r_12306_request.text)
headers = {
    'Cookie': '_uab_collina=160345135735282869894376; JSESSIONID=93543B181DE38582925B5AB863EE6E68; BIGipServerotn=1675165962.24610.0000; RAIL_EXPIRATION=1603712134126; RAIL_DEVICEID=n4PQ-kSZytMmEZgD_hikfzpWsS1C_ba2woIdg9H9DJZ-ZiwTte-Y2G53FJGOgywzrcJmonjq-Cm5QeJcR8ztopdjQFuaBj_-Wqy_OdasBKIhL-5x0v5AvbR7z8F7GZYZeXES_C19wD5VU1PVv5TiqglvYyASaUbR; BIGipServerpassport=887619850.50215.0000; route=c5c62a339e7744272a54643b3be5bf64; _jc_save_fromStation=%u798F%u5DDE%2CFZS; _jc_save_toStation=%u4E0A%u6D77%2CSHH; _jc_save_toDate=2020-10-23; _jc_save_wfdc_flag=dc; _jc_save_fromDate=2020-10-24'


}
r_12306_request = requests.get(url=url, headers=headers)
# print(r_12306_request.encoding)
# r_12306_request.encoding = "gb2312"
print(r_12306_request.content.decode()

(五)、 requests接口测试-https证书

https协议需要证书

v2-800943fdf005641496af69723271e326_b.jpg

发送请求时忽略证书,证书参数verify

import requests deftest_verify():

url='https://www.ctrip.com/'

r=requests.get(url=url,verify=False)

print(r.text)

(六)、requests接口测试-上传文件files参数

  • 携程上传头像
import requests

def test_files():
    url='https://sinfo.ctrip.com/MyInfo/Ajax/UploadPhoto.ashx' # 携程上传头像
    cookies={'cookie': 'cookies的值'}
    files={
    # 复制地址可能会出现u202a错误
    'uploadFile_753':('test.jpg',open('C:UserszegoDesktoptest.jpg','rb'),'image/jpeg')
}
    r=requests.post(url=url,files=files,verify=False,cookies=cookies)
    print(r.text)

v2-59a7580e1db7b1a0a96e8b9d014379b1_b.jpg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值