Python HTTPS Post:找不到现有的url

时间:2018-04-20 15:28:36

标签: python https json-rpc urllib3

我目前正在开发一个项目,我必须将json对象发送到嵌入式PC,它实现了Json RPC。 设备在我的局域网中,有一个IP地址,可以访问。

就像两个星期前我的代码一样有效,但是当我今天坐下来继续它时它已经不再适用了。

我使用Visual Studio 2017。 到目前为止,我尝试了Python 3.4(64位),Python 3.6(64位和32位)

以下是我的尝试:

import json
import urllib3
import sys
import base64
import os
import io
import base64
import hashlib
from base64 import b64encode

role = "admin"
passwd = "*******"
service_url = "https://192.168.0.65/base_service/"
http = urllib3.PoolManager( assert_hostname=False, ca_certs="cert/myCertificate.crt" )
passwd_b64 = str( b64encode( bytes( passwd, "utf8" ) ), "utf8" )
rpc_obj = {"jsonrpc": "2.0","id":1,"method":"get_auth_token","params":{"user": "admin", "pwd": passwd_b64}}

at = http.urlopen( "POST", service_url, body=json.dumps( rpc_obj ) )

这应生成用于其他功能的令牌。但在最后一行我得到了这个错误:

urllib3.exceptions.MaxRetryError
    Nachricht = HTTPSConnectionPool(host='192.168.0.65', port=443): Max retries exceeded with url: /base_service/ (Caused by SSLError(FileNotFoundError(2, 'No such file or directory'),))
    Stapelüberwachung:
C:\Program Files (x86)\Entwicklung\Python\lib\site-packages\urllib3\util\retry.py:388 in "Retry.increment"
C:\Program Files (x86)\Entwicklung\Python\lib\site-packages\urllib3\connectionpool.py:639 in "HTTPConnectionPool.urlopen"
C:\Program Files (x86)\Entwicklung\Python\lib\site-packages\urllib3\connectionpool.py:668 in "HTTPConnectionPool.urlopen"
C:\Program Files (x86)\Entwicklung\Python\lib\site-packages\urllib3\connectionpool.py:668 in "HTTPConnectionPool.urlopen"
C:\Program Files (x86)\Entwicklung\Python\lib\site-packages\urllib3\connectionpool.py:668 in "HTTPConnectionPool.urlopen"
C:\Program Files (x86)\Entwicklung\Python\lib\site-packages\urllib3\poolmanager.py:321 in "PoolManager.urlopen"
C:\Users\UserXY\source\repos\containerController\containerController.py:20 in "<module>"

我不知道为什么会收到此错误。我也有一个java程序,它做同样的,但工作得很好。 遗憾的是,该设备的文档只有一些python示例,我无法在java中实现所有函数。

有没有人有想法或提示?

1 个答案:

答案 0 :(得分:2)

查看错误的这一部分:(Caused by SSLError(FileNotFoundError(2, 'No such file or directory'),))

我认为找不到证书文件。