我可以从iPhone应用程序发出POST或GET请求吗?

有没有一种方法使用iPhone SDK获得与HTTP POST或GET方法相同的结果?

假设你的类有一个responseData实例variables,那么:

 responseData = [[NSMutableData data] retain]; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.domain.com/path"]]; [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

然后将以下方法添加到您的类中:

 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { [responseData setLength:0]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [responseData appendData:data]; } - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { // Show error } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { // Once this method is invoked, "responseData" contains the complete result } 

这将发送一个GET。 当调用final方法时, responseData将包含整个HTTP响应(用[[NSString alloc] initWithData:encoding:]转换为string。

或者,对于POST,将第一个代码块replace为:

 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.domain.com/path"]]; [request setHTTPMethod:@"POST"]; NSString *postString = @"Some post string"; [request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; 

如果您使用Objective C,则需要使用NSURL,NSURLRequest和NURLConnection类。 苹果的NSURLRequest文档 。 HttpRequest是针对JavaScript的。