无法使用代理设置连接到SOAP API [英] Unable to connect to SOAP API with proxy setting

查看:229
本文介绍了无法使用代理设置连接到SOAP API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用请求和zeep库使用SOAP API连接到服务器.如果手动设置Internet代理,则可以连接.但是,我打算在脚本中使用代理设置来自动执行该过程.我正在使用下面的代码块来做到这一点,但是下面却出现了错误.谁能帮助我在哪里出错?

I'm using requests and zeep library to connect to a server using SOAP API. If I manually set the internet proxy, I can connect. However, I intend to use proxy setting in my script to automate the process. I'm using the following block of code to do that, but I'm getting the error below. Can anyone pls help me where am I making the mistake?

ConnectionError: HTTPSConnectionPool(host ='xxxl.com',port = 443):最大值 网址超过重试次数:/webservice.php?wsdl(由 NewConnectionError(':无法建立新的连接: [WinError 10061]无法建立连接,因为目标 机器主动拒绝它",))

ConnectionError: HTTPSConnectionPool(host='xxxl.com', port=443): Max retries exceeded with url: /webservice.php?wsdl (Caused by NewConnectionError(': Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it',))

from requests import Session
from requests.auth import HTTPBasicAuth  
from zeep import Client
from zeep.transports import Transport

session = Session()
session.proxies = {'http': 'http://abcdef.com:80'}
session.auth = HTTPBasicAuth('username', 'passwd')
client = Client('https://abcxyz.com/webservice.php?wsdl',
    transport=Transport(session=session))

推荐答案

使用代理身份验证来使用请求而不是会话身份验证来处理代理.用user:pass设置代理:

Use your proxy authentication to handle the proxy with requests, not the session auth. Set the proxies with user:pass:

proxies = {
    "http": "user:pass@your_proxy:port",
    "https": "user:pass@your_proxy:port",
}

这篇关于无法使用代理设置连接到SOAP API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆