网络编程杂项

import socket
user = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #定义协议ipv4,tcp协议
user.connect(('www.sina.com.cn',80)) #.connect((主机地址,端口))
user.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n') #接受数据
buffer = [] #
while True:
# 每次最多接收1k字节:
d = user.recv(1024)
if d: #如果d有值则真 否则假
buffer.append(d)
else:
break
data = b''.join(buffer) #未知
user.close() #关闭连接
header,html = data.split(b'\r\n\r\n', 1) #分离表头
print(header.decode('utf-8')) #打印http头
# 把接收的数据写入文件:
with open('sina.html', 'wb') as f:
f.write(html)
服务器
import  socket
user = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #传输协议ipv4,tcp协议
user.bind((socket.gethostname(),9999))#bind((主机ip地址,端口))
user.listen(5) #可监听数量
while True:
hello,addr = user.accept()#客户端连接!hello客户端,addr客户端ip地址
print('连接地址:%s'%str(addr)) #打印客户端ip地址
msg = '欢迎访问python教程!'+'\r\n'
hello.send(msg.encode('utf-8')) #向客户端发送数据
客户端
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #传输协议ipv4,tcp协议
s.connect((socket.gethostname(),9999))#连接主机ip地址和端口
msg = s.recv(1024) #接受字节
s.close() #关闭连接
print(msg.decode('utf-8')) #打印接受的字节

user = socket.socket()#没有参数就使用默认协议ipv4协议,tcp协议

 






posted @ 2019-01-03 19:07  l_c  阅读(141)  评论(0编辑  收藏  举报