如何检查POST请求是在JSON Web服务中发送给服务器的

时间:2015-05-26 10:31:01

标签: objective-c json web-services post

在我的应用中,我想检查身份验证登录。但是当我发布请求时,我不知道我的请求是否已到达服务器。

这是我的代码......

 -(void)clearsession
 {

   NSString *username = @"tiger@gmail.com" ;

   NSString *password = @"password";

  NSURL *aUrl = [NSURL URLWithString:@"http://developer.b24solutions.com/grocery/MyLogin.php"];

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:0.0];

 [request setHTTPMethod:@"POST"];
[request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"Content-Type"];

NSString *postString = [NSString stringWithFormat:@"username=%@ password=%@",username,password];

NSLog(@"string that post:%@",postString);
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *clearSession = [[NSURLConnection alloc] initWithRequest:request delegate:self];
 [clearSession start];
NSLog(@"%@",clearSession);
if(clearSession){
    NSLog(@"data send");
}
else
{
    NSLog(@"connection failed");
}
}

而NSURLConnection方法与定义的相同。

在这个应用程序中,我以JSON格式发送用户名和密码。如果用户名已经注册,则会收到响应status=1,否则为status=0。但是当我发送注册用户名和密码时,响应将作为status = 0收到,为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

上次我检查过你需要&符号。尝试更改此内容:

@"username=%@ password=%@"

对此:

@"username=%@&password=%@"