TCP完成简易GET

咕咕咕,这段时间主要是期中考试…还关注了几天黑五…然后拖到今天才写完…

这是第一个,用仅TCP实现GET功能

import socket
import ssl
s=ssl.wrap_socket(socket.socket())
s.connect(('www.bilibili.com', 443))
s.send('GET / HTTP/1.1\r\n'.encode())
s.send('Host: www.bilibili.com\r\n'.encode())
s.send('User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\r\n'.encode())
s.send('Connection: close\r\n\r\n'.encode())
response=b""
while 1:
    temp = s.recv(1024)
    if temp:
        response+=temp
    else:break
s.close()
response=response.decode("utf8").split("\r\n\r\n")[1]
f = open('bilibili.html','w',encoding='utf-8')
f.write(response)
f.close()

这样就行了,很简单的,就是输出出来的文件会有点奇怪:

有些地方UTF-8无法解析,谁来救救我…

参考了许多大佬的文章,在此一并感谢

发表评论