Curl Airplay http请求

Curl Airplay http请求,curl,google-chrome-devtools,airplay,Curl,Google Chrome Devtools,Airplay,我正在尝试为airplay接收器(包含在电视媒体播放器中)构建一个android控制器 我正在使用curl来测试请求,还有一个构建http请求的chrome扩展。 如果我使用postman,服务器会很好地理解这些请求,但是我不能用curl复制请求 例如,请求当前播放媒体的当前位置的请求: curl -i \ 192.168.1.42:7000/scrub \ -H "Connection: keep-alive" \ -H "Cache-Control: no-cache" \ -H "User

我正在尝试为airplay接收器(包含在电视媒体播放器中)构建一个android控制器

我正在使用curl来测试请求,还有一个构建http请求的chrome扩展。 如果我使用postman,服务器会很好地理解这些请求,但是我不能用curl复制请求

例如,请求当前播放媒体的当前位置的请求:

curl -i \
192.168.1.42:7000/scrub \
-H "Connection: keep-alive" \
-H "Cache-Control: no-cache" \
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.63 Safari/537.31" \
-H "Accept: */*" \
-H "Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4" \
-H "Accept-Encoding: gzip,deflate,sdch" \
-H "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3" \
返回:

HTTP/1.1 200 OK
Content-Type: text/parameters
Content-Length: 38

duration: 0.000000
position: 0.000000
当postman返回正确的值时:

duration: 275.838989
position: 13.000000
curl请求中使用的头来自postman使用Chrome的dev工具发出的请求

那么,Chrome中的请求在有效发送的请求和我在开发工具中看到的请求之间有什么区别吗?这个问题肯定来自其他地方,因为curl无法重现相同的响应对我来说毫无意义。

有两件事需要尝试:

  • 使用-v检查curl的结果,以查看您从命令行传递的头。确保所有内容都与通过邮递员发送的邮件头匹配

  • 检查主机是否正在设置cookies(postman中的选项卡)。如果是,请尝试使用-b选项对curl请求启用cookie


是的,请求头是正确的,我甚至使用wireshard查看原始请求。没有饼干,我找到了!请求必须在相同的tcp流上进行。