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