问题:
oc编程中,在发送网络请求时,使用代理服务器作为客户端,设置代理服务器后,客户端发送请求,仍会弹出代理验证窗口,如下图
解决:
查阅网站,在创建request请求时,为request添加Authorization请求头,并填入代理服务器账号密码
NSURL *url_object = [NSURL URLWithString:self.url];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url_object];
NSString *username = @"user";
NSString *password = @"password";
NSString *authString = [NSString stringWithFormat:@"%@:%@",
username,
password];
// 2 - convert authString to an NSData instance
NSData *authData = [authString dataUsingEncoding:NSUTF8StringEncoding];
// 3 - build the header string with base64 encoded data
NSString *authHeader = [NSString stringWithFormat: @"Basic %@",
[authData base64EncodedStringWithOptions:0]];
[request setValue:authHeader forHTTPHeaderField:@"Authorization"];
仍然会弹出认证窗口,继续查阅网站,将Authorization改为Proxy-Authorization,可以解决问题
[request setValue:authHeader forHTTPHeaderField:@"Proxy-Authorization"];