• 把请求头信息添加到请求报文中,然后发送请求到淘宝,显示回复信息


    1. import socket # 提供了创建套接字和进行网络通信的功能
    2. # 建立TCP连接
    3. s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    4. # 与服务器建立连接
    5. host='www.taobao.com'
    6. s.connect(('www.taobao.com',80)) # HTTP服务的默认端口号是80,FTP的默认端口号是21,SMTP的默认端口号是25等
    7. s.send("Get /HTTP/1.1\r\nHost:{}\r\nConnection:close\r\n \
    8. User-Agen:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) \
    9. Gecko/20100101 Firefox/116.0 \r\n\r\n".format(host).encode("utf-8"))
    10. print(s.recv(1024).decode('utf-8')) # 'recv'方法的参数是希望接收的数据的最大字节数
    11. s.close()

    使用'send'方法将HTTP请求报文发送到服务器。这个请求是GET请求,并且指定了HTTP版本为1.1。"
    "在请求报文中添加Host头信息,其中'{}'被替换为淘宝的域名(http://www.taobao.com)。"
    "在请求报文中添加Connection头信息,其值为'close',表示此请求完成后,就关闭连接。"
    "在请求报文中添加User-Agent头信息,这是一个假扮的浏览器信息,通常服务器会根据这个信息来返回不同的内容。",
    "再添加一个空行,表示请求报文的结束。"
    "使用'recv'方法接收服务器返回的HTTP响应报文,并使用'decode'方法将其从二进制格式转换为字符串格式。"
     

    HTTP/1.1 400 Bad Request
    Server: Tengine
    Date: Fri, 20 Oct 2023 14:44:14 GMT
    Content-Type: text/html
    Content-Length: 249
    Connection: close
    Via: cache5.cn4242-1[,0]
    Timing-Allow-Origin: *
    EagleId: 0000000016978130543453246e



    400 Bad Request

    400 Bad Request


    Your browser sent a request that this server could not understand.


    Powered by Tengine

     

  • 相关阅读:
    基于flask部署paddleocr
    【Autosar 存储栈Memery Stack 3.存储读写流程的要求与时序】
    浏览器缓存--cookie、sessionStorage、localStorage、indexedDB
    VTK笔记——拾取器 Picker 汇总
    Redis系列22:Redis 的Pub/Sub能力
    在adapter中调用数据库,全局获取Context
    Ubuntu离线或在线安装CMake
    OpenGL 着色器使用
    缩放图片算法优化 sse
    Linux文件目录以及文件类型
  • 原文地址:https://blog.csdn.net/m0_74261473/article/details/133955501