【发布时间】:2012-07-06 23:57:08
【问题描述】:
请有人帮我解决这个问题。
如何从 iphone (ios5) 中包含 .SVC 文件的 URL 获取 JSON 数据?
链接如下:http://156.160.45.118/api/Login.svc?wsdl(非原创)
和参数是:电子邮件和密码。
那么如何验证登录凭据?
我的代码:
NSString *username = emailField.text;
NSString *password = passwordField.text;
NSMutableDictionary *dictionnary = [NSMutableDictionary dictionary];
[dictionnary setObject:username forKey:@"user_email"];
[dictionnary setObject:password forKey:@"user_password"];
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary
options:kNilOptions
error:&error];
NSString *urlString = @"http://156.160.45.118/api/Login.svc?wsdl";
NSURL *url = [NSURL URLWithString:urlString];
// Prepare the request
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"json" forHTTPHeaderField:@"Data-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [jsonData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:jsonData];
NSError *errorReturned = nil;
NSURLResponse *theResponse =[[NSURLResponse alloc]init];
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&theResponse
error:&errorReturned];
if (errorReturned)
{
//...handle the error
}
else
{
NSString *retVal = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", retVal);
}
【问题讨论】:
-
谢谢格雷厄姆。请再次检查我编辑的问题。
-
我投了反对票,因为您的问题最初是“请给我一些代码”,并且您没有展示您已经尝试过的内容,也没有展示您自己的任何努力。我看到您现在已经编辑了您的问题,但它不会让我删除我的反对票。
-
@ok Graham 没问题。但是如果您有任何解决方案,请在此处发布
-
只搜索 JSON iPhone。我相信你会找到很多示例代码
-
@Nick 实际上我尝试使用上面的代码并没有找到结果。所以我不知道我哪里出错了。请大家找出来。