我想检测一个页面加载请求何时给UIWebView返回了5xx或4xx范围内的状态代码.
我已经为Web视图设置了委托,并提供了一个-webView:didFailLoadWithError:错误方法但是虽然它被调用为超时,但是没有调用HTTP状态代码错误.
有什么建议?
嗯......我不是iPhone开发者,但......
您可以尝试使用要加载的URL创建NSURLRequest吗?然后,您可以使用NSURLConnection建立连接.
NSURLConnection有一个委托方法
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
这将给出服务器的响应.请注意,如果您通过HTTP建立连接,则响应实际上是NSHTTPURLResponse类.NSHTTPURLResponse可用于使用以下实例方法获取状态
- (NSInteger)statusCode
NSURLConnection有另一个委托方法
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
可用于从URL连接获取数据.然后,您可以使用以下方法手动将数据加载到UIWebView中:
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
这似乎是一大堆工作,但它可以做到.希望其他人会提出更简单的方法,虽然我没有看到它.