我观察到iOS MDM原生代理有一种奇怪但一致的行为。
当我们通过HTTP 301、302或307响应将其重定向到另一个URL时,代理将其HTTP PUT动词更改为GET,同时完全删除HTTP请求正文。
例如,这是设备对URL-1的第一个HTTP请求
PUT [URL-1] HTTP/1.1
Host: [HOST]
User-Agent: MDM/1.0
Content-Length: 306
Accept: */*
Content-Type: application/x-apple-aspen-mdm
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
Proxy-Connection: keep-alive
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Status</key>
<string>Idle</string>
<key>UDID</key>
<string>86ff0b7c0129f1c1ed4ff36984c1a2a3e5e06c81</string>
</dict>
</plist>我们使用HTTP 301进行响应,并将其重定向到URL-2
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: [URL-2]
X-Powered-By: ASP.NET
Date: Tue, 10 Jul 2012 10:48:31 GMT
Content-Length: 182
<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="[URL-2]">here</a></body>设备已使用此HTTP请求访问URL-2 (将HTTP谓词更改为GET并完全丢弃HTTP正文):
GET [URL-2] HTTP/1.1
Host: [HOST]
User-Agent: MDM/1.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: keep-alive
Proxy-Connection: keep-aliveMDM本机代理是否支持HTTP重定向?如果是这样,我们需要做什么更改才能使它不丢弃HTTP正文并且不更改HTTP PUT谓词?
发布于 2012-09-14 04:22:16
它支持带异常的HTTP重定向。改用安全层进行重定向。
https://stackoverflow.com/questions/11535417
复制相似问题