teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

全体のStackTraceを追加

2021/01/06 16:44

投稿

nakamiri
nakamiri

スコア7

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時のエラー文を追加

2021/01/06 16:44

投稿

nakamiri
nakamiri

スコア7

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

質問の趣旨が伝わりづらかったので、強調等の修正を加えました

2021/01/06 15:47

投稿

nakamiri
nakamiri

スコア7

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エラーの無視や解決方法を伺いたいです。