I need to pass the username and password to a url using post method.Also I want to get the response back from the service.can anybody please tell the efficient way to do this?
            Asked
            
        
        
            Active
            
        
            Viewed 994 times
        
    3 Answers
1
            
            
        data not post through webservice json in ios
Check out this link for the answer posted by me in regards to the question same as that of your question. Hope it will help you .
 
    
    
        Community
        
- 1
- 1
 
    
    
        Gaurav Rastogi
        
- 2,145
- 1
- 14
- 19
1
            
            
        add this code on .h file
@interface xyz
    @property (retain, nonatomic) NSMutableData *receivedData;
    @property (retain, nonatomic) NSURLConnection *connection;
add this code on .m file @implementation........
@synthesize receivedData,connection;
-(void)requesttoserver
{
    //if there is a connection going on just cancel it.
    [self.connection cancel];
    //initialize new mutable data
    NSMutableData *data = [[NSMutableData alloc] init];
    self.receivedData = data;
    //initialize url that is going to be fetched.
    NSURL *url = [NSURL URLWithString:@"https://www.your urlname"];
    //initialize a request from url
    request = [NSMutableURLRequest requestWithURL:[url standardizedURL]];
    //set http method
    [request setHTTPMethod:@"POST"];
    //initialize a post data
    NSString *postData = @"username password";
    //set request content type we MUST set this value.
    [request setValue:@"application/x-www-form-urlencoded;" forHTTPHeaderField:@"Content-Type" ];
    //set post data of request
    [request setHTTPBody:[postData dataUsingEncoding:NSUTF8StringEncoding]];
    //initialize a connection from request
    connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    self.connection = connection;
    //[connection release];
    //start the connection
    [connection start];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    [self.receivedData appendData:data];
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
    NSLog(@"error%@" , error);
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
    NSString *htmlSTR = [[NSString alloc] initWithData:self.receivedData encoding:NSUTF8StringEncoding];
}
call to requesttoserver method when you want to post data
 
    
    
        Sport
        
- 8,570
- 6
- 46
- 65
1
            
            
        I tried this one
NSString *Post=[NSString stringWithFormat:@"email=%@&password=%@&password_confirmation=%@",[textfieldArray objectAtIndex:0],[textfieldArray objectAtIndex:1],[textfieldArray objectAtIndex:2]];
NSData *PostData = [Post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
NSString *PostLengh=[NSString stringWithFormat:@"%d",[Post length]];
NSURL *Url=[NSURL URLWithString: @"http://offers2win.com/api/v1/users/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:Url     cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
[request setValue:PostLengh forHTTPHeaderField:@"Content-Lenght"];
[request setHTTPBody:PostData];
NSData *ReturnData =[NSURLConnection sendSynchronousRequest:request returningResponse:Nil error:Nil];
NSString *Response = [[NSString alloc] initWithData:ReturnData encoding:NSUTF8StringEncoding];
//Response = [Response stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"Response%@",Response);
 
    
    
        Gaurav Rastogi
        
- 2,145
- 1
- 14
- 19
 
    
    
        Shaan
        
- 179
- 1
- 1
- 8
- 
                    2If this is attempted code please add it in your question and not as an answer. If this code is a solution please mark this as accepted answer. – Amar Nov 22 '13 at 08:00