【pytest】接口自动化:Requests如何设置代理,访问内网接口requests.exceptions.ConnectTimeout: HTTPSConnectionPool

本文主要是介绍【pytest】接口自动化:Requests如何设置代理,访问内网接口requests.exceptions.ConnectTimeout: HTTPSConnectionPool,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言:网络有代理时,使用requests.get()等请求,会提示超时。在请求中加入代理设置,则可以正常使用。

一、问题截图如下:

E                   requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /usersLogin/login (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001E3772791E0>, 'Connection to 10.37.84.94 timed out. (connect timeout=None)'))
 

二、原因:

我是在公司内网环境访问外网域名,在连接的时候报错,无法连接,超时;后来定位到是由于公司的网络拦截导致,需要设置代理

三、Requests设置代理:

class TestLogin(CommonUtil):@pytest.mark.parametrize('caseinfo',read_yaml_testcase('testcase/test_login.yaml'))def test_login_01(self,caseinfo):print("\n测试01号登录成功")print(caseinfo)name = caseinfo['name']method = caseinfo['request']['method']url =  caseinfo['request']['url']data = caseinfo['request']['data']header= caseinfo['request']['headers']validate = caseinfo['validate']proxy = {'http':'http://username:password@ip:port','https': 'https://username:password@ip:port'}res = RequestsUtil().send_all_request(method= method, url=url,headers=header, data=data,proxies=proxy)

1、设置http和https代理,根据接口是http请求或者是https请求,进行对应的设置(也可以两个都写上)

2、ip:port,代理服务器的ip和端口,由代理服务器来将请求发送给目标服务器

3、username:password:代理网络的用户名和密码,有些需要填,有些不需要填,如果不知道的话,可以先不填试试

# 1:普通的代理proxies = {"http":"http://12.34.56.79:9527","https":"https://12.34.56.79:9527"}
res = requests.get(url="http://www.baidu.com",proxies=proxies)
print(res.content.decode("utf-8"))# 2:携带登录的用户名和密码
proxies1 = {"http":"http://用户名:密码@12.34.56.79:9527","https":"https://用户名:密码@12.34.56.79:9527"}
res = requests.get(url="http://baidu.com",proxies=proxies1)
print(res.content.decode("utf-8"))

这篇关于【pytest】接口自动化:Requests如何设置代理,访问内网接口requests.exceptions.ConnectTimeout: HTTPSConnectionPool的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/842897

相关文章

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

Python实现自动化接收与处理手机验证码

《Python实现自动化接收与处理手机验证码》在移动互联网时代,短信验证码已成为身份验证、账号注册等环节的重要安全手段,本文将介绍如何利用Python实现验证码的自动接收,识别与转发,需要的可以参考下... 目录引言一、准备工作1.1 硬件与软件需求1.2 环境配置二、核心功能实现2.1 短信监听与获取2.

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage