使用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.