zoukankan      html  css  js  c++  java
  • python TCP编程小试牛刀

    学习自廖雪峰的python教程,代码也是参照着他的教程敲的。

    这个例子是一个TCP客户端python编程的例子,

    (1)首先建立一个TCP的socket

    (2)然后调用socket的方法与服务器进行连接

    (3)连接之后给服务器发送一条HTTP请求

    (4)接收服务器返回的HTTP响应(包括包头和HTML数据)

    (5)关闭连接,把接收到的数据打印或另存

    # -*- coding: utf-8 -*-   声明编码格式为utf-8使支持中文
    
    #导入socket库
    import socket
    
    '''创建一个socket,
    AF_INET表示用ipv4协议,AF_INET6表示ipv6协议,
    SOCK_STREAM指定使用面向流的TCP协议'''
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    #建立连接
    s.connect(('www.sina.com.cn',80))
    
    #给服务器发送HTTP请求命令
    s.send(b'GET / HTTP/1.1
    Host: www.sina.com.cn
    Connection: close
    
    ')
    
    #接收数据
    buffer = []
    while True:
        #recv(maxBytes)设置每次最多接收1k字节
        d = s.recv(1024)
        if d:
            buffer.append(d)
        else:
            break
    data = b''.join(buffer)
    
    #关闭连接
    s.close()
    
    #接收到的是二元组:(HTTP响应头,html文件数据)
    header, html = data.split(b'
    
    ', 1)
    print(header.decode('utf-8')) #把HTTP响应头打印出来
    #把接收到的html数据写入文件
    with open('sina.html', 'wb') as f:
        f.write(html)
    


    程序运行后打印的HTTP header:



    然后同目录下会产生一个sina.html,也就是新浪网主页的html:




  • 相关阅读:
    EnrichPipeline文档
    454ITS数据按barcode和primer分类程序v1.0
    linux系统中,文件的三种特殊权限
    ITS简要分析流程(using Qiime)
    SegmentFault错误汇总
    PCoA主坐标分析
    PCA主成份分析
    软件测试工程师面试题
    我的测试团队管理之道
    如何管理好测试团队
  • 原文地址:https://www.cnblogs.com/lvlang/p/10586423.html
Copyright © 2011-2022 走看看