Я использую Python 2.7.5 с web.py (v0.38), установленным на машине Linux. Ниже мой код в самой основной форме (webhooks.py)Как включить HTTPS на Python 2.7 web.py?
#!/usr/bin/python
import web
urls = ('/.*','WebHooks')
app = web.application(urls, globals())
class WebHooks:
def POST(self):
raw_payload = web.data()
json_encode = json.loads(raw_payload)
if __name__ == '__main__':
app.run()
- исполняю
python webhooks.py 9999
- Это открывает локальный порт
http://0.0.0.0:9999/
Мой вопрос: Я прочитали документацию, расположенную here, и я в тупике. Кто-нибудь сможет помочь мне открыть URL-адрес HTTPS? https://0.0.0.0:9999/
То, что я пытался
Добавьте следующее в мой код для тестирования:
response = app.request("/.*", https=True)
Я получаю сообщение об ошибке: AttributeError: 'module' object has no attribute 'request'
Я решил эту проблему с pip install urllib.py
, а затем добавив import urllib
в начало моего кода, но я закончил с кучей ошибок:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/web/application.py", line 239, in process
return self.handle()
File "/usr/lib/python2.7/site-packages/web/application.py", line 230, in handle
return self._delegate(fn, self.fvars, args)
File "/usr/lib/python2.7/site-packages/web/application.py", line 461, in _delegate
cls = fvars[f]
KeyError: u'WebHooks'
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/web/application.py", line 239, in process
return self.handle()
File "/usr/lib/python2.7/site-packages/web/application.py", line 229, in handle
fn, args = self._match(self.mapping, web.ctx.path)
AttributeError: 'ThreadedDict' object has no attribute 'path'
Спасибо! Я постараюсь первым делом завтра утром и обновить статус на этом. –
Обновление: ваше решение сработало! Для других читателей, которые также пытаются это сделать, я должен был убедиться, что у меня есть две вещи до того, как он работает. Во-первых, вам нужно установить openssl-devel в вашу систему, а второй - использовать pip для установки pyOpenSSL. –