我们公司的应用程序主要是嵌入在android/iPhone原生应用程序中的webview。在某些区域,dns查找总是失败,这会导致打开我们的网页时出现错误。
我们发现了一种名为HttpDNS的技术,它可以解决纯本地应用程序的dns查找问题,因为它可以通过ip(从HttpDNS获取)而非域发送http请求,并手动设置http标头域。然而,在webview中,我们不能这样做。
那么,是否有办法解决webview中的dns问题?谢谢(我们发现我们可以在app中设置一个代理,它可以解决dns查找问题,但这种方法并不新颖。)。
发布于 2015-09-15 04:46:13
你可以:
当然,这两种方法都不是完美的,因为只有当用户在web视图中加载替换当前页面的页面(而不是随机的XMLHTTPRequest调用)时,这两种方法才是有效的。
然后,总会有:
尽管这确实具有即使对XHR也有效的优点,但我倾向于建议对于公开发布的应用程序不采用这种方法,原因有三个:
当然,您可以通过添加libcurl并使用libcurl来执行实际的请求来避免第一个问题,但是这样您就进入了非常可怕的兼容性领域。:-)
您最好找出DNS查找失败的原因。它是否被滥用的ISP或政府在当地封锁?您能将VPN技术添加到应用程序中,以便通过隧道发送对URL (和DNS查找)的请求吗?
https://stackoverflow.com/questions/32577326
复制相似问题