【问题标题】:uiwebview load request not working iosuiwebview加载请求不起作用ios
【发布时间】:2018-08-31 20:47:27
【问题描述】:

看到WKWebview 不支持发布请求,我使用旧的UIWebView 加载发布请求,但不幸的是页面本身没有加载。在 webview 委托中,响应为 200,但在 webview 和我注意到的调试控制台中什么也没看到

 WF: _userSettingsForUser mobile: {
    filterBlacklist =     (
    );
    filterWhitelist =     (
    );
    restrictWeb = 1;
    useContentFilter = 0;
    useContentFilterOverrides = 0;
    whitelistEnabled = 0;
}

我在 plist 中为 url “192....”添加了应用程序传输设置,但我仍然得到页面没有在 webview 中加载,并且相同的日志正在调试中。

【问题讨论】:

  • 无论您需要打开网络视图还是其他东西,您都需要做什么您能否在您遇到问题的地方详细发布您的查询以及源代码,然后只有任何人可以帮助您。

标签: ios uiwebview wkwebview app-transport-security


【解决方案1】:

您不能在应用传输安全 (ATS) 例外 列表中指定 IP 地址。您必须使用域名。但是,如果您尝试为本地网络流量禁用 ATS,则可以将 Info.plist 中 App Transport Security 下的 NSAllowsLocalNetworking 值设置为 true,如下所示:

<key>NSAppTransportSecurity</key>    
<dict>
    <key>NSAllowsLocalNetworking</key>
    <true/>
</dict>

我不完全相信这是问题所在(您的控制台消息与我在 ATS 阻止流量时看到的不匹配)。但是,如果您将 192.xxx.xxx.xxx 放在您的例外域列表中,它肯定不会做任何事情。

【讨论】:

  • 感谢您的建议,我正在 UIWebView 中进行发布请求,用于支付导航但未呈现相应页面,我收到响应状态 200 和内容类型“text/html”和 webview 是空白的,但它在 android webview 中工作
  • 您可以在发出 POST 请求的地方发布您的 webview 代码吗?您是否尝试过使用 NSAllowsArbitratyLoads ATS 设置完全禁用 ATS?
  • 解决方案是什么?如果是上面的解决方案,请接受答案,以便其他人遇到同样的问题。如果还有其他问题,请将其发布为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多