トークンを使用してサーバーに接続しようとしていますが、接続を確認しようとしているときに上記のエラーが発生しています。どのように私はこれを取得するか、またはこの種の安全なサーバーに接続する方法を知っていますか?ここurllibを使用してalmerys.comに接続すると、
私のコードです:
import requests
import json
import urllib.request
import os
req0 = "http://127.0.0.1:8000/"
reqvar = "https://santeintegration.almerys.com/vfcapi/"
#data = {"ip":"1.1.2.3"}
headers = {"Authorization":"Bearer {eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtYWMtbGxveWQiLCJhdWQiOiJodHRwczovL3NhbnRlaW50ZWdyYXRpb24uYWxtZXJ5cy5jb20vdmZjYXBpLyIsIm5iZiI6MTUwMTAwNDYyMCwiZXhwIjoxNTAxMDI2MjE3LCJzdWIiOiJnYXlhIiwiYWRtaW4iOnRydWV9.KG3duwUqGusyWOC9BNezFoQVEPzkWkpZHfrBs94sKkV86Tyys_QiP5WzBG53cQMbhsHEYMZPtvNHv6zcaD9e9hxt0iBywfN7mdp9wmB60zPDdD88tPWpvUxGkescRWHEnLd-uDpWynPeCa3Wm1Htr-Cz_d3NPm2bdhqJKguYRa_ZUc3f-xvLVKOc4sCv0kD9-qwR-e9cGXCtrkCcZQ4Hr13RUnDc4Z6__A13xMAujh4wwEcI57FSrhUmtnjB83T2RdaieSfuwMjxNJRXyEhBWgAWp5YzWaDcjMAvqQLTy34p5ejtcAdb9IdfDtAaI2SqKU_dcVzNtm3Wm9OwS50bJw}"}
request = urllib.request.Request(reqvar,headers)#, headers=req_headers)
opener = urllib.request.build_opener()
response2 = opener.open(request)
html=response2.read()
json_obj = json.loads(html)
token_string = json_obj["token"].encode("ascii","ignore")
print(token_string)
、以下のエラー:私はこれを取得またはセキュアサーバのこの種への接続を作成する方法なぜ
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect
server_hostname=server_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket
_context=self, _session=session)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "request.py", line 15, in <module>
response2 = opener.open(request)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748)>
https://santeintegration.almerys.com/上のSSL証明書が正しく設定されていないFirefoxは言う: 発行者証明書が不明であるため、証明書が信頼されていません。サーバーが適切な中間証明書を送信していない可能性があります。追加のルート証明書をインポートする必要があるかもしれません。 https://stackoverflow.com/questions/19268548/python-ignore-certicate-validation-urllib2のEnnoGröperの答え(受け入れられた答えではない)を参照してください。 –
+1サーバーに接続するために使用したURLを提供しています。実際に問題を解決し、修正を提供するのに役立ちます。 – jww