2012-05-03 9 views
2

REST Webサービスにログインするためにユーザー名とパスワードを送信するためにJSONオブジェクトを使用する必要があります。私は次のコードでアンドロイドでやった。iphoneのRESTログインwebserviceにユーザー名とパスワードでJSONオブジェクトを送信するにはどうすればいいですか?

HttpClient client = new DefaultHttpClient(); 
        String responseBody; 
        JSONObject jObj = new JSONObject(); 

        try 
        { 
         HttpPost post = new HttpPost("http://localhost:8080/MTA/login"); 
         jObj.put("email", "[email protected]"); 
         jObj.put("password", "password12345"); 

         StringEntity se = new StringEntity(jObj.toString()); 

         post.setEntity(se); 
         post.setHeader(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
         post.setHeader("Content-type", "application/json"); 
         System.out.println("webservice request executing"); 

         ResponseHandler responseHandler = new BasicResponseHandler(); 
         responseBody = client.execute(post, responseHandler); 

         System.out.println("Response : " + responseBody); 
         /* 
         * You can work here on your responseBody 
         * if it's a simple String or XML/JSON response 
         */ 

        } 
        catch(Exception e) 
        { 
         System.out.println("Exception : " + e); 
        } 

iOSでも同じことが必要です。 iOSでどうすればいいですか?

+0

あなたの質問を明確にしてください、ログインデータを検索したり、PHPファイルに挿入したいのですか? – vishiphone

+0

あなたがデータを投稿するのが難しい場合はasihttprequestフレームワークをチェックしてください。そうでなければjsonをur app内に作成すると問題があります。 – sujith1406

+0

@vishiphone:ログインWebサービスに送信されたユーザー名とパスワードが必要です。次に、Webサービス側では、書き込みか否かをチェックし、その応答に従ってデータベースをチェックインします。誰もコードを持っていれば私に送ってください。 – python

答えて

2

私はGe.ttのAPIで働いている、と私にログインするためにこれをやっている:それは私達を知らせたり、持っている仕事であれば

NSString *email = @"Some email"; 
NSString *password = @"Some password" 
NSString *apikey = @"some api key"; 
NSString *loginURL = @"http://open.ge.tt/1/users/login"; 

NSURL *url = [NSURL URLWithString:loginURL]; 

NSString *JSONString = [NSString stringWithFormat:@"{\"apikey\":\"%@\",\"email\":\"%@\",\"password\":\"%@\"}", apikey, email, password]; 

NSData *JSONBody = [JSONString dataUsingEncoding:NSUTF8StringEncoding]; 

NSMutableURLRequest *loginRequest = [[NSMutableURLRequest alloc] initWithURL:url]; 
loginRequest.HTTPMethod = @"POST"; 
loginRequest.HTTPBody = JSONBody; 

NSOperationQueue *queue = [NSOperationQueue new]; 

[NSURLConnection sendAsynchronousRequest:loginRequest 
            queue:queue 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){ 

             // Manage the response here. 

             }]; 
+0

非常にPherediacありがとうございます。あなたは私に非常に良い応答を送った。 NSURLResponse * response; NSError * err; NSData * responseData = [NSURLConnection sendSynchronousRequest:loginRequest returningResponse:&応答エラー:&err]; NSLog(@ "responseData:%@"、responseData); NSString * string = [[NSString alloc] initWithData:レスポンスデータエンコーディング:NSASCIIStringEncoding]; NSLog(@ "responseData:%@"、文字列); これは適切な応答を得るためのコードです。もう一度あなたに感謝します。 – python

1

は、Webサービスのためにこのコードを使用します問題は私に尋ねます。

-(IBAction)Submit 
{ 


if(([user.text length]==0) || ([password.text length]==0) || ([eMail.text length]==0) || ([contactNo.text length]==0)) 
{ 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert !!!" message:@"Fill All the Text For Registration!!" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil, nil]; 
    [alert show]; 
    [alert release]; 

} 

else 
{ 
    if([self validateEmailWithString:eMail.text]) 
    { 
     NSString *regestrationString=[[NSString alloc]initWithFormat:@"http://www.somename.com/foldername/login.php?user_name=%@&user_password=%@&user_emailid=%@&user_contactno=%d",user.text,password.text,eMail.text,contactNo.text]; 
     NSURLRequest *regestrationRequest=[[NSURLRequest alloc]initWithURL:[NSURL URLWithString:regestrationString]]; 
     NSURLResponse *regestrationResponce; 
     NSError *error; 

     NSMutableData *regestrationData=[[NSMutableData alloc]initWithData:[NSURLConnection sendSynchronousRequest:regestrationRequest returningResponse:&regestrationResponce error:&error]]; 
     NSString *dataString=[[NSString alloc]initWithData:regestrationData encoding:NSUTF8StringEncoding]; 
     NSLog(@"%@",dataString); 
     UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Thank You!!!" message:@"Your Registration is completed!!" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil]; 
     [alert show]; 
     [alert release];   
     [registrationView setHidden:YES]; 
    } 
    else 
    { 
     UIAlertView *alert=[[UIAlertView alloc]initWithTitle:nil message:@"Invalid Email" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil]; 
     [alert show]; 
     [alert release]; 
    } 
} 



} 

-(IBAction)login 
{ 
NSString *regestrationString=[[NSString alloc]initWithFormat:@"http://www.somename.com/foldername/login_table.php?user_name=%@&user_password=%@",userName.text,passWord.text]; 
NSURLRequest *regestrationRequest=[[NSURLRequest alloc]initWithURL:[NSURL URLWithString:regestrationString]]; 
NSURLResponse *regestrationResponce; 
NSError *error; 

NSMutableData *regestrationData=[[NSMutableData alloc]initWithData:[NSURLConnection sendSynchronousRequest:regestrationRequest returningResponse:&regestrationResponce error:&error]]; 
NSString *dataString=[[NSString alloc]initWithData:regestrationData encoding:NSUTF8StringEncoding]; 
NSLog(@" %@",dataString); 

regestrationArray=[[NSArray alloc]init]; 
regestrationArray=[dataString JSONValue]; 
if(regestrationArray == NULL) 
{ 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Alert !!!" message:@"Invalid Login" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil, nil]; 
    [alert show]; 
    [alert release];   
} 

userNameField =(NSString *)[NSString stringWithFormat:@"%@",[[regestrationArray objectAtIndex:0]valueForKey:@"user_name"]] ; 



[email protected]""; 
[email protected]""; 


[signInView setHidden:YES]; 
} 

login.phpデータベースの挿入クエリとlogin_table.phpにはデータベース選択クエリがあります。

関連する問題