urllib3外部库语法

'''
import urllib3#导入urllib3模块
url='/get'
http=urllib3.PoolManager()#创建连接池管理对象
r=http.request('get',url)#发送get请求
print(r.status)#打印请求状态码
urllib3.disable_warnings()#关闭ssl警告
url='/post'#post请求测试地址
params={'name':'jack','country':'中国','age':'30'}#定义字典类型的请求参数
r=http.request('post',url,fields=params)#发送post请求
print('返回结果:',r.data.decode('utf-8'))#打印返回结果(是一段unicode编码)
print(r.data.decode('unicode_escape'))#打印返回结果(不转换unicode编码)
r=http.request('get',url,)#发送get请求,默认重试请求
r1=http.request('GET',url,retries=5)#发送get请求,设置五次重试请求
r2=http.request('get',url,retries=False)#发送get请求,关闭重试请求
print('默认重试请求:',r.retries.total)
print('设置重试请求次数:',r1.retries.total)
print('关闭重试请求:',r2.retries.total)
response_header=r.info()#获取响应头
for key in response_header.keys():#循环遍历打印响应头信息
    print(key,':',response_header.get(key))
import urllib3
import json#导入json模板
urllib3.disable_warnings()#关闭ssl警告
url='/post'
params={'name':'jack','country':'中国','age':'40'}#定义字典类型的请求参数
http=urllib3.PoolManager()#创建连接池管理对象
r=http.request('get',url,fields=params)#发送post请求
j=json.loads(r.data.decode('unicode_escape'))#将响应数据转换成为字典类型
print('数据类型:',type(j))
print('获取from对应的数据:',j.get('from'))
print('获取country对应的数据:',j.get('form').get('country'))
r.http.request('get',url)#发送网络请求
print(r.data)#打印二进制数据
f=open('name','wb+')#创建open对象
f.write(r.data)#写入数据
r.close()#关闭
headers={'User-Agent':'请求头'}#设置请求头
http=urllib3.PoolManager()#创建连接池管理对象
r=http.request('get',url,headers=headers)#发送get请求
print(r.data.decode('utf-8'))#打印返回结果
http=urllib3.PoolManager()#创建连接池管理对象
try:
    r=http.request('get',url,timeout=0.01)#发送get请求并设置超时时间为0.01s
except Exception as error:
    print('name超时:',error)
http2=urllib3.PoolManager(timeout=0.01)#创建连接池管理对象并设置超时时间为0.01s
try:
    r1=http.request('get',url)#发送get请求
except Exception as error:
    print('name超时:',error)
timeout=TimeoutError(connect=0.5,read=0.1)#设置链接0.5s,读取0.1s
http=urllib3.PoolManager(timeout=timeout)#创建连接池管理对象
http.request('get',url)#发送get请求
timeout=TimeoutError(connet=0.5,read=0.1)#设置链接0.5s,读取0.1s
http=urllib3.PoolManager()#创建连接池管理对象
http.request('get',url,timeout=timeout)#发送get请求
headers={'User-Agent':'请求头'}
proxy=urllib3.ProxyManager('http://120,27,110.143:80',headers=headers)#创建代理管理对象
r=proxy.request('get',url,timeout=2.0)#发送请求
print(r.data.decode())#打印返回结果
import urllib3
import json
with open('name.txt') as f:#打开文本文件
    data=f.read()#读取文件
http=urllib3.PoolManager()#创建连接池管理对象
r=http.request('post',url,fielda={'filefield':('example.txt',data)})
files=json.loads(r.data.decode('utf-8'))['files']#获取上传文件内容
print(files)#打印上传文本信息
import urllib3
with open('name','rb') as f:#打开图片文件
    fata=f.read()#读取文件
http=urllib3.PoolManager()#创建连接池管理对象
r=http.request('post',url,body=data,headers={'content-type':'image/jpeg'})
print(r.data.decode())#打印返回结果
#完
'''
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值