认证
1、基本认证:
# -*- coding:utf-8 -*-
import requests
url = "http://httpbin.org/basic-auth/user/passwd"
r1 = requests.get(url)
print "未提供用户名密码:" + str(r1.status_code)
#Basic Authentication
r2 = requests.get(url,auth=('user','passwd'))
print "已提供用户名密码:" + str(r2.status_code)
输出:
未提供用户名密码:401
已提供用户名密码:200
2、数字认证
from requests.auth import HTTPDigestAuth
url = 'http://httpbin.org/digest-auth/auth/user/pass'
equests.get(url, auth=HTTPDigestAuth('user', 'pass'))
代理
1、方法一:
proxy参数:
import requests
proxies = {
"https": "http://41.118.132.69:4433"
}
r = requests.post("http://httpbin.org/post", proxies=proxies)
print r.text
2、方法二:
设置环境变量:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="http://10.10.1.10:1080"
import requests
requests.get('http://example.org')
3、HTTP Basic Auth使用代理方法:http://user:password@host/
proxies = {'http': 'http://user:[email protected]:3128/'}
证书验证
1、SSL证书(HTTPS):
import requests
#跳过12306 的证书验证,把 verify 设置为 False:
r = requests.get('https://kyfw.12306.cn/otn/', verify=False)
print r.text
2、客户端证书:
requests.get('https://kennethreitz.org', cert=('/path/client.cert', '/path/client.key'))
s = requests.Session()
s.cert = '/path/client.cert'
超时配置
1 、利用timeout参数来配置最大请求时间:
r = requests.get('https://github.com', timeout=5)
2、设置timeout=None,告诉请求永远等待响应,而不将请求作为超时值传递
r = requests.get(‘https://github.com’, timeout=None)
错误异常
1、所有Requests显式抛出的异常都继承自:
requests.exctptions.RequestException
2、遇到网络问题(如:DNS查询失败,拒绝连接等)时,requests会抛出一个 ConnectionError 异常
3、遇到罕见的无效HTTP响应时,Request则会抛出一个 HTTPError 异常
4、若请求超时,则抛出一个 Timeout 异常
5、若请求超过了最大的重写向次数,则会抛出一个 TooManyRedirects 异常
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
在漫长的人生道路上,充满了无数的坎坷和挑战。但只要我们保持积极向上的心态,勇往直前,不断进取,就一定能够克服困难,实现自己的梦想。所以,请你一定要相信自己,坚定不移地追逐理想!
每一次的失败都是成功的一部分,不要因为短暂的挫败而放弃梦想。只有坚持不懈地奋斗,才能迎来绚丽的明天。行动起来,让你的努力成就你想要的未来!
只有不断地追求进步,才能成就更好的自己;只有不断地努力奋斗,才能谱写出精彩的人生乐章。坚持自己的梦想,勇往直前,你一定会收获最美好的回报!