swift - 如何在WKWebView中登录通过登录名和密码加密的网页(http)

标签 swift

我正在尝试从学校网站加载 pdf 文件。该区域由用户名和密码加密(我知道它们。)

如果有人尝试打开该页面,则会弹出如下图所示的窗口。 Picture of login

到目前为止我的代码是:

let url = URL(string:"http://www.carl-bechstein-gymnasium.de/sicher/klausurplaene/kp_12-1_2017.pdf")
let data = try! Data(contentsOf: url!)
pdfView!.load(data, mimeType: "application/pdf", characterEncodingName:"", baseURL: (url?.deletingLastPathComponent())!)

此代码返回错误

2017-10-26 00:54:33.170289+0200 CBG-App[31717:9325935] CredStore - performQuery - Error copying matching creds.  Error=-25300, query={
atyp = http;
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = http;
"r_Attributes" = 1;
sdmn = Zugangsgeschuetzt;
srvr = "www.carl-bechstein-gymnasium.de";
sync = syna; } failed to find PDF header: `%PDF' not found. 

如果您需要更多信息,请发表评论。侧面的加密方式也是一个奇迹。 我希望有人能尽快帮助我!

最佳答案

使用的身份验证是基本身份验证。访问 PDF 最简单的方法是在 URL 中对用户名和密码进行编码,如下所示: http://USERNAME:PASSWORD@www.example.com/index.html

重要:

  1. 由于这是 http,因此可以从网络流量中嗅探用户名和密码。
  2. 要使用 iOS 应用,您很可能需要设置 ATS(应用传输安全)异常(exception)

关于swift - 如何在WKWebView中登录通过登录名和密码加密的网页(http),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46943177/

相关文章:

ios - 在应用程序委托(delegate)中添加的 View Controller 未出现

ios - UI 测试 : How to find UIBarButtonItem by accessibilityIdentifier with predicate?

Swift,错误 EXC_BREAKPOINT(代码=1,子代码=0x100695474)

arrays - swift 3 : binary operator cannot be applied to operands of type int and 'Int?'

ios - NSNotificationCenter postNotificationName 在 swift 和 object-c 中崩溃,为什么?

ios - 重新排序表格 View 单元格

ios - AlamoFire + ObjectMapper,如何让一个函数接受一个可映射类型的参数?

ios - 按钮,当我上下滚动表格 View 时标签隐藏

swift - 将日期组件(整数)转换为字符串

swift - Firebase/Firestore - 完成 block 未按预期工作