gpt4 book ai didi

iphone - UIWebView 捕获响应头

转载 作者:技术小花猫 更新时间:2023-10-29 10:43:14 25 4
gpt4 key购买 nike

我搜索/谷歌了很多,但无法获得有关如何在 UIWebview 中捕获 HTTP 响应 header 的答案。假设我在 App Launch 中将用户重定向到 UIWebview 中的注册网关(已经处于事件状态),当用户完成注册时,应用程序应该收到在注册时分配给用户的成功唯一 ID 的通知,该 ID 在 HTTP 响应 header 中传回.

有什么直接的方法可以使用 UIWebview 捕获/打印 HTTP 响应 header ?

最佳答案

无法从 UIWebView 获取响应对象(为此向 apple 提交错误,id 说)

但是有两个解决方法

1) 通过共享的 NSURLCache

- (void)viewDidAppear:(BOOL)animated {
NSURL *u = [NSURL URLWithString:@"http://www.google.de"];
NSURLRequest *r = [NSURLRequest requestWithURL:u];
[self.webView loadRequest:r];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSCachedURLResponse *resp = [[NSURLCache sharedURLCache] cachedResponseForRequest:webView.request];
NSLog(@"%@",[(NSHTTPURLResponse*)resp.response allHeaderFields]);
}
@end

如果这对你有用,那就是理想的


其他

  1. 您可以完全使用 NSURLConnection,然后只使用您下载的 NSData 来提供 UIWebView :)

这将是一个糟糕的解决方法! (正如理查德在评论中指出的那样。)它确实有很大的缺点,你必须看看它是否是你的情况下的有效解决方案

NSURL *u = [NSURL URLWithString:@"http://www.google.de"];
NSURLRequest *r = [NSURLRequest requestWithURL:u];
[NSURLConnection sendAsynchronousRequest:r queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *resp, NSData *d, NSError *e) {
[self.webView loadData:d MIMEType:nil textEncodingName:nil baseURL:u];
NSLog(@"%@", [(NSHTTPURLResponse*)resp allHeaderFields]);
}];

关于iphone - UIWebView 捕获响应头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15476539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com