Python之TCP编程

参考原文

  廖雪峰Python教程

 我们知道每一条TCP的连接有2个端点,这两个端点叫做套接字socket。如果我们要进行基于TCP的通信必须先创建套接字。在Python中可以这样创建套接字socket,并向服务端发送请求:

#导入socket库
import socket
import io

#创建一个socket:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#建立链接
s.connect(('www.sina.com.cn', 80))
#客户端发送请求:
s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n') #注意空格,回车换行

#接收从服务器返回的数据:
buffer = []
while True:
    d = s.recv(1024) #每次最多接收1K字节
    if d:
        buffer.append(d)
    else:
        break
data = b''.join(buffer)  #连接字符串
#关闭链接
s.close()
#将HTTP报文头和正文分离:
header, html = data.split(b'\r\n\r\n',1) #后面的参数是分割次数
#看下响应报文头:
print(header.decode('utf-8'))
#把接收到的正文写入文件:
with open('sina.html','wb') as f :
    f.write(html)
View Code

猜你喜欢

转载自www.cnblogs.com/yunche/p/9028027.html