WebSocket代理异常:通过代理连接失败,状态为503。

11

提供的答案需要更多有关使用qlik服务器进行认证的详细信息。

我正在尝试通过WebSockets使用证书连接到qlik

错误:

websocket._exceptions.WebSocketProxyException: failed CONNECT via proxy status: 503

代码:

from websocket import create_connection  
import ssl  


senseHost = "dummy.xyz.com"  
privateKeyPath = "C:\\ProgramData\\Qlik\\Sense\\Repository\\Exported Certificates\\"  


## userDirectory and userId can be found at QMC -> Users  
userDirectory, userId = "DIRECTORY_OF_SERVER","QlikServerUserId"  


url = "wss://" + senseHost + ":4747/app/"  # valid  
certs = ({"ca_certs": privateKeyPath + "root.pem",  
            "certfile": privateKeyPath + "client.pem",  
            "keyfile": privateKeyPath + "client_key.pem",  
            "cert_reqs":ssl.CERT_REQUIRED,  
            "server_side": False  
            })  
ssl.match_hostname = lambda cert, hostname: True  
ws = create_connection(url, sslopt=certs,
                       http_proxy_host="xyz.corp.company.com",
                       http_proxy_port="80",
                       http_no_proxy="*.corp.company.com;*.abc.com;*.pqr.com;"
                       header={'X-Qlik-User: UserDirectory=%s; UserId=%s'% (userDirectory, userId)})  
session = self.ws.recv()

*注意:

  • 我的网络使用了代理。
  • 我在每个字段中都使用了正确的值,例如sensehost、userDirectory、userId

请帮忙或提供任何建议以连接qlik。

最终目标: 动态地将Qlik KPI值/图表获取到由Django开发的前端中!


1
您的私钥路径存在错误。 - Mad Physicist
@MadPhysicist,我在问题中编辑了私钥路径。但是我仍然遇到相同的错误。请帮忙! - shaik moeed
我删除了你问题中的最后一行,因为这不是Facebook。 - Mad Physicist
1
现在末尾有一个多余的空格。 - Mad Physicist
@MadPhysicist,是的,因为 \ 被视为特殊字符。如果我没有使用空格,它不会接受 "。你能告诉我还有其他的转义字符吗? - shaik moeed
显示剩余9条评论
1个回答

1

部分回答:

根据 Qlik .net SDK 文档,他们说端口:带代理(443),不带代理(4747)或无安全性(80)。

因此,我将url = "wss://" + senseHost + ":4747/app/"更改为url = "wss://" + senseHost + ":443/app/"

待定:

无法使用证书登录。我想使用NTLM身份验证。如何在Python中将NTLM身份验证传递到websocket链接。

如果您有解决这两个问题的解决方案,请编辑或编写新答案。


你能找到问题的根本原因吗?我在创建WebSocket连接时也遇到了同样的错误。 websocket._exceptions.WebSocketProxyException: 通过代理失败的CONNECT状态:503 - Sudhanva c
@Sudhanvac 不,我已经很久以前退出了那个项目。 - shaik moeed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接