网址已超过最大重试次数

时间:2020-08-18 09:07:11

标签: python python-3.x django https python-requests

我的Django代码有问题:

我尝试过这个:

requests.post('https://localhost:8000/api/test/', data=data, headers={'Content-Type': 'application/json'}, verify=False)

但是我明白了:

{SSLError}HTTPSConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /api/test/ (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)'),))

我使用HTTP而非https解决了问题,但我想使用https。

知道所有这些都在本地主机上怎么办?

非常感谢您!

编辑:

这是api应用中的urls.py:

from django.urls import path, include
from django.views.decorators.csrf import csrf_exempt
from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token

from API import views as API views

app_name = 'api'


from API.views import LoginViewCustom

urlpatterns = [
path('test/', apiviews.Test.as_view(), name='test')
]

以及其他urls.py中:

urlpatterns = [path('api/', include('api.urls', namespace='api'))]

1 个答案:

答案 0 :(得分:1)

Django的开发服务器,默认情况下通过http运行应用程序。因此,当您尝试通过https到达它时,您会遇到Max retries exceeded with url错误。

因此,您真正想要的是使用SSL / HTTPS测试/运行本地开发服务器。

有几种方法可以实现,但是我更喜欢使用RunServerPlus中的django-extensions。他们有this section用于SSL设置。

您可以在this question中找到很好的讨论。