【发布时间】:2018-04-08 04:43:00
【问题描述】:
我正在尝试向 firebase 发出 post 请求,但我遇到了以前使用 相同代码 未发生的错误。我的互联网连接是通过我的嵌入式 linux (Ubuntu 16.04) 设备 (Orange Pi 2g IoT) 上的 2G-Modem 进行的,到目前为止,我通过在其上运行 Python 2.7 脚本并发布 URL 没有任何问题。但是现在突然我在执行代码时开始遇到以下错误:
root@OrangePi:~# [ 5218.307887] rc.local[395]: Traceback (most recent call last):
[ 5218.308805] rc.local[395]: File "/root/TEST/Timekeeper.py", line 38, in <module>
[ 5218.309607] rc.local[395]: send_event = firebase.post('/device', new_event)
[ 5218.310542] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/firebase/decorators.
[ 5218.311748] rc.local[395]: return f(*args, **kwargs)
[ 5218.312254] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/firebase/firebase.py
[ 5218.314531] rc.local[395]: connection=connection)
[ 5218.315074] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/firebase/decorators.
[ 5218.315506] rc.local[395]: return f(*args, **kwargs)
[ 5218.315895] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/firebase/firebase.py
[ 5218.317208] rc.local[395]: timeout=timeout)
[ 5218.317692] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/requests-2.18.4-py2.
[ 5218.320210] rc.local[395]: return self.request('POST', url, data=data, json=json, **kwargs
[ 5218.320780] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/requests-2.18.4-py2.
[ 5218.321206] rc.local[395]: resp = self.send(prep, **send_kwargs)
[ 5218.322444] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/requests-2.18.4-py2.
[ 5218.324416] rc.local[395]: r = adapter.send(request, **kwargs)
[ 5218.325043] rc.local[395]: File "/usr/local/lib/python2.7/dist-packages/requests-2.18.4-py2.
[ 5218.325572] rc.local[395]: raise SSLError(e, request=request)
[ 5218.325990] rc.local[395]: requests.exceptions.SSLError: HTTPSConnectionPool(host='hermes-4dc8ror(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)'),)
产生此错误的部分代码如下:
from firebase import firebase
firebase_url = 'https://hermes-4dc8c.firebaseio.com/'
firebase = firebase.FirebaseApplication(firebase_url, None)
new_event = {
"eventType": "Sirene"
}
send_event = firebase.post('/device', new_event)
这个名为 Orange Pi 2g IoT 的嵌入式设备有自己的调制解调器 2G 可以连接到互联网,但我不确定这东西有什么样的认证,因为它是 10 美元,Firebase 是否有可能因为未知而阻止了我的设备还是奇怪的连接起源?有没有人在此之前遇到过这个问题或者可以帮助我解决这个问题?
谢谢各位!!
【问题讨论】:
标签: python ssl firebase-realtime-database ubuntu-16.04