我正在尝试使用asiHttpRequest来处理HTTP摘要身份验证,我有两个文本字段,一个是名称,另一个是密码,当用户使用正确的名称和密码登录时,标签将显示auth和userid响应字符串。任何人都可以提供
答案 0 :(得分:0)
以下是您可以如何向Google发送身份验证请求的示例代码。你可以改变消化。希望它有所帮助。
NSString *username = @"my.google.login@gmail.com";
NSString *password = @"mypassword123";
NSString *loginUrl = @"https://www.google.com/accounts/ClientLogin?client=NNW-Mac";
NSString *source = @"NNW-Mac"; //let's fake NetNewsWire
NSString *continueUrl = @"http://www.google.com";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString: loginUrl]]; // log in & get cookies
[request addRequestHeader: @"User-Agent" value: @"NetNewsWire/3.2b25 (Mac OS X; http://www.newsgator.com/Individuals/NetNewsWire/)"];
[request setPostValue: username forKey: @"Email"];
[request setPostValue: password forKey: @"Passwd"];
[request setPostValue: @"reader" forKey: @"service"];
[request setPostValue: source forKey: @"source"];
[request setPostValue: continueUrl forKey: @"continue"];
[request setDelegate: self];
[request setDidFailSelector: @selector(loginRequestFailed:)];
[request setDidFinishSelector: @selector(loginRequestFinished:)];
[request start];
修改1:
NSString *username = @"Login info";
NSString *password = @"Password";
NSString *loginUrl = @"http://connect.twangoo.com";
NSString *continueUrl = @"http://www.google.com";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString: loginUrl]]; // log in & get cookies
//Dont need it if u dont want to add any header value for the site
//[request addRequestHeader: @"User-Agent" value: @"NetNewsWire/3.2b25 (Mac OS X; http://www.newsgator.com/Individuals/NetNewsWire/)"];
[request setPostValue: username forKey: @"Login"];
[request setPostValue: password forKey: @"Pwd"];
//Just for google api reader service u dont need it here..
//[request setPostValue: @"reader" forKey: @"service"];
[request setDelegate: self];
[request setDidFailSelector: @selector(loginRequestFailed:)];
[request setDidFinishSelector: @selector(loginRequestFinished:)];
[request start];