Python Response.iter_content

作者: 夙小叶 | 来源:发表于2018-08-02 21:32 被阅读2523次

获取原始响应内容

  • 获取请求的原始响应可以用:Response.rawResponse.iter_content
  • 普通情况可以用 r.raw,在初始请求中设置 stream=True,来获取服务器的原始套接字响应

    url = "http://wx4.sinaimg.cn/large/d030806aly1fq1vn8j0ajj21ho28bduy.jpg"
    r = requests.get(url, stream=True)
    r.raw.read(10)
    
    b'\xff\xd8\xff\xe1\x13\xe9Exif'
    
  • 当流下载时,用Response.iter_content或许更方便些。requests.get(url)默认是下载在内存中的,下载完成才存到硬盘上,可以用Response.iter_content 来边下载边存硬盘

    url = "http://wx4.sinaimg.cn/large/d030806aly1fq1vn8j0ajj21ho28bduy.jpg"
    
    rsp = requests.get(url, stream=True)
    with open('1.jpg', 'wb') as f:
        for i in rsp.iter_content(chunk_size=1024):  # 边下载边存硬盘, chunk_size 可以自由调整为可以更好地适合您的用例的数字
            f.write(i)
    
    


咕嘿嘿~血小板

相关文章

网友评论

    本文标题:Python Response.iter_content

    本文链接:https://www.haomeiwen.com/subject/krzsvftx.html