写了一个简单的python socket的程序。运行时,报错如下
原因:文件的命名与Python的function的命名冲突
修改名称后,发现还是无法运行,检查目录下面是否有
这样子的一个文件,删除即可。应该是我们自己命名重写了Python的socket函数。
import socket
# 创建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:
# 每次最多接受1k字节
d = s.recv(1024)
if d:
buffer.append(d)
else:
break
data = b''.join(buffer)
s.close
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)