2014-09-04 91 views
1

我想用POST方法将一个数据发送到一个URL并从该URL接收到答案。 我写发送数据的代码(“一个‘)这个网址(’http://www.test.com/test/msht”)如何使用POST方法将数据发送到URL在Xcode中的方法

这是我的代码,但不能正常工作,请指导我如何发送数据,并从URL给予答复。

-(IBAction)btn_post_clicked:(id)sender{ 

    //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; 
    [data release]; 

    //initialize url that is going to be fetched. 
    NSURL *url = [NSURL URLWithString:@"http://www.test.com/test/msht"]; 

    //initialize a request from url 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]]; 

    //set http method 
    [request setHTTPMethod:@"POST"]; 
    //initialize a post data 
    NSString *postData = [[NSString alloc] initWithString:@"a"]; 
    //set request content type we MUST set this value. 

    [request setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 

    //set post data of request 
    [request setHTTPBody:[postData dataUsingEncoding:NSUTF8StringEncoding]]; 
    //initialize a connection from request 
    NSURLConnection *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); 
} 

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ 

    //initialize convert the received data to string with UTF8 encoding 
    NSString *htmlSTR = [[NSString alloc] initWithData:self.receivedData 
               encoding:NSUTF8StringEncoding]; 
    NSLog(@"%@" , htmlSTR); 
} 

回答

0

我的朋友你的代码有误!!!您应该确定后NSString中的后值的名称.... 您不发送a值。

如果在服务器上获取POST方法名是用户你应该写这样的代码:

NSString *post = [NSString stringWithFormat:@"user=a"]; 
相关问题