我正在尝试从学校网站加载 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
重要:
- 由于这是 http,因此可以从网络流量中嗅探用户名和密码。
- 要使用 iOS 应用,您很可能需要设置 ATS(应用传输安全)异常(exception)
关于swift - 如何在WKWebView中登录通过登录名和密码加密的网页(http),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46943177/