SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:748)

使用HTTP协议访问需要HTTPS协议访问的网页是,会返回302 Found

表示需要重定向到使用HTTPS访问

socket使用HTTPS需要import ssl模块

import ssl

然后对socket对象进行包装

sock = ssl.wrap_socket(socket.socket())

此时出现错误

SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:748)

上网查找后发现自己没有修改访问对应的端口号,仍然用80端口号connect服务器,因此出错,需要将端口号改为https服务对应的443

下面为一个简单的通过socket方法实现get请求的代码,输出为访问的网页的response。此代码未根据指定的protocol分配对应端口号,有待修改。

# _*_ coding:utf-8 _*_
import socket
import ssl
"""
2017/02/16
作业 1


资料:
在 Python3 中,bytes 和 str 的互相转换方式是
str.encode('utf-8')
bytes.decode('utf-8')

send 函数的参数和 recv 函数的返回值都是 bytes 类型
其他请参考上课内容, 不懂在群里发问, 不要憋着
"""


# 1
# 补全函数
def protocol_of_url(url):
    '''
    url 是字符串, 可能的值如下
    'g.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pip._vendor.urllib3.exceptions.sslerror: [ssl: decryption_failed_or_bad_record_mac]是一个SSL错误,表示解密或记录验证时出现问题。 SSL(Secure Socket Layer)是一种用于加密网络连接的协议,用于确保数据在客户端和服务器之间的安全传输。当客户端与服务器之间的SSL连接出现问题时,就会触发这个异常。 这个错误通常是由于以下原因之一引起的: 1. SSL证书问题:可能是服务器的SSL证书过期、无效或不受信任。在这种情况下,可以尝试更新或重新安装证书,并确保其有效性。 2. 网络问题:可能是由于网络中的某些问题导致数据在传输过程中损坏或丢失。可以尝试重启网络设备或更换网络连接来解决问题。 3. 客户端或服务器配置问题:可能是由于客户端或服务器上的配置错误导致SSL连接失败。可以检查相关的TLS/SSL配置,确保其准确性和一致性。 解决这个问题的方法包括: 1. 检查SSL证书:确保证书有效并受信任。如果不是自签名证书,可以尝试更新或重新安装证书。 2. 检查网络连接:确保网络连接正常,尝试重启网络设备或更换网络连接。 3. 检查配置:检查客户端和服务器上的TLS/SSL配置,确保其正确设置。 4. 使用其他HTTPS库:如果以上方法无法解决问题,可以尝试使用其他的HTTPS库替代pip._vendor.urllib3,例如requests库。 总之,pip._vendor.urllib3.exceptions.sslerror: [ssl: decryption_failed_or_bad_record_mac]是一个SSL错误,可能由于证书问题、网络问题或配置问题引起。通过检查和解决这些问题,可以解决这个错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值