简体   繁体   English

Python-Django [SSL:WRONG_VERSION_NUMBER]错误

[英]Python-Django [SSL: WRONG_VERSION_NUMBER] Error

While I'm trying to connect to my localhost, I get [SSL: WRONG_VERSION_NUMBER] error. 在尝试连接到本地主机时,出现[SSL:WRONG_VERSION_NUMBER]错误。 I'm using '8080' port by default. 我默认使用“ 8080”端口。 Previously, I was getting ProxyError, then I changed my url from 'http' to 'https' and now I get SSLError. 以前,我收到了ProxyError,然后将URL从“ http”更改为“ https”,现在得到了SSLError。 I've checked some solutions, which prompts to change the port number. 我已经检查了一些解决方案,提示您更改端口号。 Does it have to do anything with the port number, or something else? 它与端口号有关系吗?

views.py: views.py:

endpoint = 'https://****:8080/MyApp/services/DBConnection/callLoginProcedure'

def index(request):
    post = request.POST
    if request.POST.get('login_button'):
        qd = QueryDict(mutable=True)
        qd.update(
            inputPhoneNumber=request.POST.get('phone_num'),
            inputPassword=request.POST.get('password')
        )
        response = requests.post('{}?{}'.format(endpoint, qd.urlencode()), verify=False)
        result = response.json()
        messages.info(request, result)

    return render(request, 'login/index.html')

The error is as follows 错误如下

stacktrace: 堆栈跟踪:

Django Version: 2.2.3
Python Version: 3.7.3
Installed Applications:
['login',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
Installed Middleware:
['django.middleware.csrf.CsrfViewMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware']



Traceback:

File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py" in urlopen
  603.                                                   chunked=chunked)

File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py" in _make_request
  344.             self._validate_conn(conn)

File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py" in _validate_conn
  843.             conn.connect()

File "C:\Program Files\Python37\lib\site-packages\urllib3\connection.py" in connect
  370.             ssl_context=context)

File "C:\Program Files\Python37\lib\site-packages\urllib3\util\ssl_.py" in ssl_wrap_socket
  368.     return context.wrap_socket(sock)

File "C:\Program Files\Python37\lib\ssl.py" in wrap_socket
  412.             session=session

File "C:\Program Files\Python37\lib\ssl.py" in _create
  853.                     self.do_handshake()

File "C:\Program Files\Python37\lib\ssl.py" in do_handshake
  1117.             self._sslobj.do_handshake()

During handling of the above exception ([SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)), another exception occurred:

File "C:\Program Files\Python37\lib\site-packages\requests\adapters.py" in send
  449.                     timeout=timeout

File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py" in urlopen
  641.                                         _stacktrace=sys.exc_info()[2])

File "C:\Program Files\Python37\lib\site-packages\urllib3\util\retry.py" in increment
  399.             raise MaxRetryError(_pool, url, error or ResponseError(cause))

During handling of the above exception (HTTPSConnectionPool(****): Max retries exceeded with url: /MyApp/services/DBConnection/callLoginProcedure?inputPhoneNumber=231412&inputPassword=4211 (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)')))), another exception occurred:

File "C:\Program Files\Python37\lib\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Program Files\Python37\lib\site-packages\django\core\handlers\base.py" in _get_response
  115.                 response = self.process_exception_by_middleware(e, request)

File "C:\Program Files\Python37\lib\site-packages\django\core\handlers\base.py" in _get_response
  113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\TOLGA\Desktop\PythonWebProjects\WebLogin\login\views.py" in index
  53.         response = requests.post('{}?{}'.format(endpoint, qd.urlencode()), verify=False)

File "C:\Program Files\Python37\lib\site-packages\requests\api.py" in post
  116.     return request('post', url, data=data, json=json, **kwargs)

File "C:\Program Files\Python37\lib\site-packages\requests\api.py" in request
  60.         return session.request(method=method, url=url, **kwargs)

File "C:\Program Files\Python37\lib\site-packages\requests\sessions.py" in request
  533.         resp = self.send(prep, **send_kwargs)

File "C:\Program Files\Python37\lib\site-packages\requests\sessions.py" in send
  646.         r = adapter.send(request, **kwargs)

File "C:\Program Files\Python37\lib\site-packages\requests\adapters.py" in send
  514.                 raise SSLError(e, request=request)

Exception Type: SSLError at /login/
Exception Value: HTTPSConnectionPool(***) (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)')))
 endpoint = 'https://****:8080/MyApp/services/DBConnection/callLoginProcedure' 

From the your edits in your previous question the original URL can be retrieved. 上一个问题的编辑中,可以检索原始URL。 When trying this it is clear that the endpoint you are trying to access only supports HTTP on the given port 8080 and not HTTPS as you are trying to use. 尝试此操作时,很明显,您尝试访问的端点仅在给定的端口8080上支持HTTP,而在尝试使用的端口上不支持HTTPS。

[SSL: WRONG_VERSION_NUMBER] Error [SSL:WRONG_VERSION_NUMBER]错误

The error you see stems from the attempt to access a site with HTTPS which only can do HTTP. 您看到的错误是由于尝试使用只能执行HTTP的HTTPS访问站点而引起的。 Your clients starts a TLS handshake by sending a ClientHello and expects the server to reply with a ServerHello. 您的客户端通过发送ClientHello启动TLS握手,并希望服务器以ServerHello进行回复。 Only, the server sends a plain HTTP response. 服务器仅发送纯HTTP响应。 The client then tries to interpret this response as TLS ServerHello which includes figuring out the TLS protocol version from some bytes at a specific position in the response. 然后,客户端尝试将此响应解释为TLS ServerHello,其中包括从响应中特定位置的某些字节中确定TLS协议版本。 Since this is no TLS response is expected the information there make no sense when interpreted as TLS which results in this strange error message. 由于这不是TLS响应,因此将其解释为TLS时,该信息没有意义,这会导致出现此奇怪的错误消息。

The proper way is to access the URL by HTTP not HTTPS. 正确的方法是通过HTTP而不是HTTPS访问URL。 If you get problems there (you mention some ProxyError without details) then you need to fix these problems and not just attempt to access the site by HTTPS - which as you see only causes other problems. 如果在那里遇到问题(您提到了一些ProxyError,但没有详细信息),那么您需要解决这些问题,而不仅仅是尝试通过HTTPS访问该网站-如您所见,这只会导致其他问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 SSL:PYTHON 请求上的 WRONG_VERSION_NUMBER - SSL: WRONG_VERSION_NUMBER ON PYTHON REQUEST python 3 smtplib 异常:“SSL:WRONG_VERSION_NUMBER”登录到 Outlook - python 3 smtplib exception: 'SSL: WRONG_VERSION_NUMBER' logging in to outlook Python cassandra驱动程序-SSL:WRONG_VERSION_NUMBER - Python cassandra driver - SSL: WRONG_VERSION_NUMBER Python 错误 SSL: WRONG_VERSION_NUMBER 在几天前工作的代码上 - Python ERROR SSL: WRONG_VERSION_NUMBER on code that worked few days earlier jupyter SSL:WRONG_VERSION_NUMBER - jupyter SSL: WRONG_VERSION_NUMBER python 请求:(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] 错误的版本号 (_ssl.c:1123)')) - python requests: (SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1123)')) 如何修复错误 ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] 版本号错误? - How to fix the error ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number? python elasticsearch elasticsearch.exceptions.SSLError: ConnectionError([SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)) - python elasticsearch elasticsearch.exceptions.SSLError: ConnectionError([SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)) Azure 函数 (Python) 无法使用 [SSL: WRONG_VERSION_NUMBER] 连接到 Azure MySQL 实例 - Azure Functions (Python) cannot connect to Azure MySQL instance with [SSL: WRONG_VERSION_NUMBER] 尝试重新包装套接字时出现错误 [SSL: WRONG_VERSION_NUMBER] - Error [SSL: WRONG_VERSION_NUMBER] when trying to re-wrap a socket
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM