【问题标题】:Sort header from HTTP response before writing it to a file在将 HTTP 响应写入文件之前对标头进行排序
【发布时间】:2016-05-18 17:57:34
【问题描述】:

我目前正在尝试使用 python 和套接字实现 HTTP 客户端。它非常简单,只需从网络服务器下载文件并将其放入用户提供的文件中即可。

我的代码工作正常,但我遇到了如何从文件中排除 HTTP 响应标头的问题。

HTTP 响应标头仅位于文件的开头,所以我想我可以将所有数据转储到文件中,然后再取出标头。这是一个问题,因为 I/O 非常慢。

我的下一个想法是,我可以在从服务器获得的第一个响应中运行一些正则表达式,对标头进行排序,然后将其余部分转储到文件中。不过,这似乎是一种非常笨拙的方法。

有人对如何以聪明的方式做到这一点有任何建议吗?

【问题讨论】:

    标签: python sockets network-programming http-headers network-protocols


    【解决方案1】:

    在 http 响应中,标头与正文用 '\r\n\r\n' 分隔。要仅获取主体,您可以尝试以下操作:

    bodyBegin = httpResponse.find('\r\n\r\n') + 4
    body = httpResponse[bodyBegin:]
    saveToFile(body)
    

    【讨论】:

      猜你喜欢
      • 2016-04-29
      • 2016-06-15
      • 1970-01-01
      • 2016-04-23
      • 2013-01-23
      • 2020-07-22
      • 2011-06-24
      • 1970-01-01
      • 2011-03-19
      相关资源
      最近更新 更多