質問編集履歴
3
全体のStackTraceを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,6 +10,43 @@
|
|
10
10
|
動かしたいPythonライブラリは`Slackbot`のため、
|
11
11
|
requestsのような`CURL_CA_BUNDLE=''`のようなものがうまく効かず、なんとかできないかと考えている状況です。
|
12
12
|
|
13
|
+
```
|
14
|
+
(sample-slackbot) nakamiri@ITPC00603:~/work/sample-slackbot$ CURL_CA_BUNDLE="" python run.py
|
15
|
+
start slackbot
|
16
|
+
/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/urllib3/connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host 'slack.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
|
17
|
+
warnings.warn(
|
18
|
+
Traceback (most recent call last):
|
19
|
+
File "/home/nakamiri/work/sample-slackbot/run.py", line 19, in <module>
|
20
|
+
main()
|
21
|
+
File "/home/nakamiri/work/sample-slackbot/run.py", line 13, in main
|
22
|
+
bot = Bot()
|
23
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/slackbot/bot.py", line 20, in __init__
|
24
|
+
self._client = SlackClient(
|
25
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/slackbot/slackclient.py", line 43, in __init__
|
26
|
+
self.rtm_connect()
|
27
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/slackbot/slackclient.py", line 48, in rtm_connect
|
28
|
+
self.parse_slack_login_data(reply)
|
29
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/slackbot/slackclient.py", line 71, in parse_slack_login_data
|
30
|
+
self.websocket = create_connection(self.login_data['url'], http_proxy_host=proxy,
|
31
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/websocket/_core.py", line 487, in create_connection
|
32
|
+
websock.connect(url, **options)
|
33
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/websocket/_core.py", line 210, in connect
|
34
|
+
self.sock, addrs = connect(url, self.sock_opt, proxy_info(**options),
|
35
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/websocket/_http.py", line 77, in connect
|
36
|
+
sock = _ssl_socket(sock, options.sslopt, hostname)
|
37
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/websocket/_http.py", line 182, in _ssl_socket
|
38
|
+
sock = _wrap_sni_socket(sock, sslopt, hostname, check_hostname)
|
39
|
+
File "/home/nakamiri/.local/share/virtualenvs/sample-slackbot-YXuvx29z/lib/python3.9/site-packages/websocket/_http.py", line 156, in _wrap_sni_socket
|
40
|
+
return context.wrap_socket(
|
41
|
+
File "/home/nakamiri/.pyenv/versions/3.9.1/lib/python3.9/ssl.py", line 500, in wrap_socket
|
42
|
+
return self.sslsocket_class._create(
|
43
|
+
File "/home/nakamiri/.pyenv/versions/3.9.1/lib/python3.9/ssl.py", line 1040, in _create
|
44
|
+
self.do_handshake()
|
45
|
+
File "/home/nakamiri/.pyenv/versions/3.9.1/lib/python3.9/ssl.py", line 1309, in do_handshake
|
46
|
+
self._sslobj.do_handshake()
|
47
|
+
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1123)
|
48
|
+
```
|
49
|
+
|
13
50
|
# 環境
|
14
51
|
|
15
52
|
羅列するとこんな環境です
|
2
Win10でpip install時のエラー文を追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -37,6 +37,26 @@
|
|
37
37
|
* Python 3.9をインストーラでインストール
|
38
38
|
* pip実行時に上記SSLエラーが発生したためWin10は一旦諦め、WSLで試すことに
|
39
39
|
|
40
|
+
```pip実行時エラー
|
41
|
+
PS C:\Users****\Desktop> pip install pipenv
|
42
|
+
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection
|
43
|
+
broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))': /simple/pipenv/
|
44
|
+
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection
|
45
|
+
broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))': /simple/pipenv/
|
46
|
+
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection
|
47
|
+
broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))': /simple/pipenv/
|
48
|
+
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection
|
49
|
+
broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))': /simple/pipenv/
|
50
|
+
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection
|
51
|
+
broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))': /simple/pipenv/
|
52
|
+
Could not fetch URL https://pypi.org/simple/pipenv/: There was a problem confirming the ssl certificate:
|
53
|
+
HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pipenv/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1122)'))) - skipping
|
54
|
+
ERROR: Could not find a version that satisfies the requirement pipenv (from versions: none)
|
55
|
+
ERROR: No matching distribution found for pipenv
|
56
|
+
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed
|
57
|
+
certificate in certificate chain (_ssl.c:1122)'))) - skipping
|
58
|
+
```
|
59
|
+
|
40
60
|
## WSLv1 Ubuntu 18.04
|
41
61
|
|
42
62
|
### slackbot実行のトライアンドエラー
|
1
質問の趣旨が伝わりづらかったので、強調等の修正を加えました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# 解決したいこと
|
2
2
|
|
3
|
-
透過型プロキシの環境下でPythonのライブラリを利用して外部とHTTPSでやり取りをしたいのですが、
|
3
|
+
透過型プロキシの環境下でPythonのライブラリ(slackbot)を利用して外部とHTTPSでやり取りをしたいのですが、
|
4
4
|
下記エラーが発生してしまうため無視もしくは証明書の指定をして外部と正常にHTTPS通信をできるようにしたいです。
|
5
5
|
|
6
6
|
```
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
* Windows 10 ( or WSLv1 Ubuntu18.04 )
|
18
18
|
* Python 3.9
|
19
|
-
* Slackbotを動かしたい
|
19
|
+
* **Slackbotを動かしたい**
|
20
20
|
* 透過型プロキシが設置されたよくあるオフィスNW
|
21
21
|
* PCにはプロキシが利用する証明書がインストール済
|
22
22
|
|
@@ -26,8 +26,12 @@
|
|
26
26
|
|
27
27
|
で証明書のインストールを実施しています
|
28
28
|
|
29
|
+
---
|
30
|
+
|
29
31
|
# 試したこと
|
30
32
|
|
33
|
+
**ここから下は回答の参考になればと思い、色々試したことを記載しています**
|
34
|
+
|
31
35
|
## Windows 10 ネイティブで
|
32
36
|
|
33
37
|
* Python 3.9をインストーラでインストール
|
@@ -70,4 +74,5 @@
|
|
70
74
|
* 証明書エラーが消えたことを確認できたので、pyenvでPython3.9インストール
|
71
75
|
* pipで同様のエラーが発生したので`--trusted-host`で逃げて環境構築
|
72
76
|
|
73
|
-
ここまでで、wget/curlは普通に実行できるが、Pythonのバイナリで実行されるHTTPS通信がエラーとなることを確認
|
77
|
+
ここまでで、wget/curlは普通に実行できるが、Pythonのバイナリで実行されるHTTPS通信がエラーとなることを確認
|
78
|
+
その上でslackbotを利用したBotアプリを作成して実行すると、同様にエラーが発生するため冒頭のSSLエラーの無視や解決方法を伺いたいです。
|