gpt4 book ai didi

ios - 快速编程中的 UIWebView windows 身份验证

转载 作者:可可西里 更新时间:2023-11-01 00:22:52 24 4
gpt4 key购买 nike

我的 UIWebView 有问题。我无法使用 Windows 身份验证打开网站...在 Safari 浏览器中会出现一个弹出窗口,因此在 WebView 控件中什么也没有发生。

谁能帮我解决这个问题?

这是我的代码

class MainViewController: UIViewController, UIWebViewDelegate, MFMailComposeViewControllerDelegate {

@IBOutlet weak var webView: UIWebView!

override func viewDidLoad() {
super.viewDidLoad();

webView.delegate = self;

let url = NSURL (string: "http://test.raphaels.com/mobile/");
let requestObj = NSURLRequest(URL: url);
webView.loadRequest(requestObj);
}
}

这段代码在 iOS 模拟器(即 Xcode 上的 iPhone 模拟器/模拟器)的非安全服务器 (URL) 上运行良好。但是当我使用上面的 URL 时(只能从内部网访问)。它在浏览器中询问用户名/密码并在 iPhone 模拟器中停止。请帮助我,我如何提供用户名和密码。我在互联网上搜索并找到了很多示例,不幸的是它们都不是在 swift 编程中。

我试图编写一个失败的解决方案,所以下面是失败的代码

override func viewDidLoad() {
super.viewDidLoad();

webView.delegate = self;


let username = "username11";
let password = "password22";
let loginString = NSString(format: "%@:%@", username, password);
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!;
let base64LoginString = loginData.base64EncodedStringWithOptions(nil);

// create the request
let url = NSURL (string: "http://test.raphaels.com/mobile/");
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")




webView.loadRequest(request);
}

最佳答案

并且成功了 :-) 使用下面的代码。

override func viewDidLoad() {
super.viewDidLoad();

webView.delegate = self;

let urlComponents = NSURLComponents(string: "http://test.raphaels.com/mobile/");
urlComponents.user = "username11";
urlComponents.password = "password22";

let url = urlComponents.URL;

let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
}

关于ios - 快速编程中的 UIWebView windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com