2

我编写了 NSURLProtocol 的自定义子类,但是似乎每当我使用该协议在 UIWebView 中加载请求时,它都假定数据是内容类型“text/html”。有没有办法指定这个内容实际上是别的东西(例如“text/plain”或“image/png”)?

4

2 回答 2

2

content-type其实是NSURLResponse携带的,可以通过NSURLProtocolClient方法修改URLProtocol:didReceiveResponse:cacheStoragePolicy: 比如设置为text/plain

NSURLResponse *textResponse = [[NSURLResponse alloc] initWithURL:self.request.URL MIMEType:@"text/plain" expectedContentLength:100 textEncodingName:@"UTF-8"];
[self.client URLProtocol:self didReceiveResponse:textResponse cacheStoragePolicy:NSURLCacheStorageAllowedInMemoryOnly];
于 2011-02-09T19:26:42.263 回答
0

内容类型由 NSMutableURLRequest 携带。

[request setValue:@"image/png" forHTTPHeaderField:@"content-type"];
于 2011-02-07T21:23:02.020 回答