山东兴华建设集团网站/无锡网站建设优化公司
问题:
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 instanceNSData *authData = [authString dataUsingEncoding:NSUTF8StringEncoding];// 3 - build the header string with base64 encoded dataNSString *authHeader = [NSString stringWithFormat: @"Basic %@",[authData base64EncodedStringWithOptions:0]];[request setValue:authHeader forHTTPHeaderField:@"Authorization"];
仍然会弹出认证窗口,继续查阅网站,将Authorization改为Proxy-Authorization,可以解决问题
[request setValue:authHeader forHTTPHeaderField:@"Proxy-Authorization"];