• 网络编程杂项


    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 Host: www.sina.com.cn Connection: close ') #接受数据
    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' ', 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教程!'+' '
    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协议

     






  • 相关阅读:
    多项式全家桶学习笔记
    [题解] Luogu P2000 拯救世界
    [题解] LuoguP4389 付公主的背包
    [题解] CF438E The Child and Binary Tree
    拉格朗日插值法
    bzoj2788: [Poi2012]Festival
    暑假集训test-8-29
    luoguP4768 [NOI2018]归程
    HDU6331Problem M. Walking Plan
    暑假集训test-8-28
  • 原文地址:https://www.cnblogs.com/lc1013/p/10216296.html
Copyright © 2020-2023  润新知