如何处理“太多 HTTP 重定向”错误
Posted
技术标签:
【中文标题】如何处理“太多 HTTP 重定向”错误【英文标题】:How to handle "too many HTTP redirects" Error 【发布时间】:2016-08-01 15:21:15 【问题描述】:当我将网站加载到我的可可应用程序的 webview 中时,就会出现这个问题。 我的问题描述:
错误域=NSURLErrorDomain 代码=-1007 “HTTP 重定向过多” UserInfo=0x18d17d56NSErrorFailingURLStringKey=URLHERE, NSErrorFailingURLKey=URLHERE,NSLocalizedDescription=HTTP 太多 重定向
为什么会出现这个错误 怎么处理
我浏览了以下链接,但对我没有帮助
Too many HTTP redirects"too many HTTP redirects" while using Alamofire Upload Multipart Form Datatoo many HTTP redirects, Google Drive, ios SDK 等等……
更新:
- (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource
if(redirectResponse)
if([redirectResponse.URL.absoluteString isEqualToString:self.webviewLoadingURL.absoluteString])
NSLog(@"both redirect and load url is same");
return request;
我在 webview 中获得了相同的重定向和加载 URL。
【问题讨论】:
【参考方案1】:我在 iPhone XS 上遇到过这种情况。无论我做什么,它都只针对特定的 url 报告“太多 HTTP 重定向”。即使没有互联网连接!删除该应用并重新安装即可解决问题。
【讨论】:
我在我的 cocoa (osx) 应用程序中发现了这个问题。但很高兴听到您在 iPhone 上重新安装 (iOS) 应用程序可能会解决此问题。我已将您的答案提供给 +1,因此可能对其他人有所帮助 这可能意味着缓存中有错误(重定向)响应。 汤姆。你的回答对我也有帮助。【参考方案2】:这几乎总是由导致网页重定向到自身(可能通过另一个中间 URL)的服务器配置错误引起的。除非问题是由请求无效/不正确 URL 的客户端代码引起的,否则您可能无法在客户端解决此问题。
如果您询问如何向用户显示错误,我会说您应该像对待 404 一样对待它。该 URL 不太可能很快开始工作。
【讨论】:
在我的情况下,发生了同样的错误,但如果我在另一个浏览器应用程序(如 iOS 中的 Chrome)中检查相同的 URL,则它可以正常工作。 这可能意味着重定向是由缺少cookie或未知浏览器字符串引起的。 在我的例子中,我错过了 URL 开头的www
。所以在浏览器和 POSTMAN 中它总是正确的,但是由于应用程序无法直接联系服务器(因为缺少 www),所以响应是一个重定向......疯狂:
如果这是一个 POST 请求,值得注意的是 POST 操作在重定向后不会被重播,因此理想情况下,您的服务器应该配置为直接处理 POST 请求,而不是将用户重定向到万维网网站。 (我假设这就是正在发生的事情。)以上是关于如何处理“太多 HTTP 重定向”错误的主要内容,如果未能解决你的问题,请参考以下文章