【问题标题】:Postman and content-length邮递员和内容长度
【发布时间】:2022-04-29 07:01:10
【问题描述】:

我从我的笔记本电脑向我的网络服务器发起了一个 POST 请求。 HTTP POST 请求看起来像这样(通过 POSTMAN 控制台查看时)

POST /api/fwupgrade HTTP/1.1
User-Agent: PostmanRuntime/7.24.1
Accept: */*
Cache-Control: no-cache
Postman-Token: 2b1e72fa-f43b-4fc9-9058-e78533c30f0f
Host: 192.168.71.24
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------572971355726244237076370
Content-Length: 222
----------------------------572971355726244237076370
Content-Disposition: form-data; name="FileName"; filename="help.txt"

<help.txt>

内容长度表示为222。文件help.txt只有以下字符(为了测试我放了10个a) 啊啊啊啊啊

当我在服务器上收到一个 http 请求时,我会解析请求并看到内容长度为 222。现在我的问题是:

a) 我假设这个内容长度 222 包括“内容长度:222”行之后的字节,对吗?所以这意味着请求正文从

 ------------------572971355726244237076370
    Content-Disposition: form-data; name="FileName"; filename="help.txt"

    <help.txt>

这种理解正确吗?

b) 请求正文是否始终遵循相同的格式,即在“Content-Length:”之后,它以文件数据开始和结束,在我的例子中是“help.txt”?

c) 假设 #a 是正确的,我计算实际数据从 filename="help.txt" /r/n 之后的位置开始,然后将其存储在我服务器上的文件中。但是我在 aaaaaaaaaa 之后得到了 58 个剩余字节。知道我应该如何解释 Content-length 或邮递员如何计算 Content-length 字段吗?

问候

【问题讨论】:

    标签: rest http https postman-native-app


    【解决方案1】:

    a) 大致是的。 b) 它取决于 Content-Type(这里:multipart/form-data) c) 您需要一个解析器来处理多部分/表单数据消息。例如,请参阅https://greenbytes.de/tech/webdav/rfc7578.html

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2011-10-27
    • 2021-09-09
    • 2013-05-28
    相关资源
    最近更新 更多