当我使用基于webview的应用程序并且服务器在iphone sdk中失败时,如何查找404错误原因

Mon*_*mar 6 objective-c uiwebview

我正在实现一个基于webview的应用程序,因为我需要找到404错误发生的方法.

任何人的帮助将不胜感激.

感谢所有人,Monish.

Ais*_*sha -1

在这里,您只需要在 webview 委托方法中检查请求完成或失败时的状态即可。

     - (void)webViewDidFinishLoad:(UIWebView *)webView
{
    int status = [[[webView request] valueForHTTPHeaderField:@"Status"] intValue];
    if (status == 404) {

    }
}
Run Code Online (Sandbox Code Playgroud)

如果这不能帮助你。检查一下这个。使用要加载的 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)

然后检查状态是否= 404,如果是,则显示您的警报视图。通过这种方式,您将能够显示 html 页面和警报视图。

  • 这种方法行不通。无法从您需要的 webView 访问 *HTTP 响应* 状态代码。请参阅http://stackoverflow.com/questions/14451012/uiwebview-not-go-to-didfailloadwitherror-when-weblink-not-found (7认同)