在Objective-C中在iPhone上使用HTTP POST和GET的教程

tar*_*eld 42 post get http objective-c

我下载了苹果的演示程序,使用HTTP POST和GET(他们的示例应用程序有一个带有不同部分的tabbar),代码很混乱!

有人可以给我一些示例代码或一些关于它的教程的链接吗?:)

谢谢!

Dir*_*oop 42

Matt Long的演练特别好:http: //www.cimgf.com/2010/02/12/accessing-the-cloud-from-cocoa-touch/

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] 
        initWithURL:[NSURL 
        URLWithString:@"http://www.cimgf.com/testpost.php"]];
 
[request setHTTPMethod:@"POST"];
[request setValue:@"text/xml" 
              forHTTPHeaderField:@"Content-type"];
 
NSString *xmlString = @"<data><item>Item 1</item><item>Item 2</item></data>";
 
[request setValue:[NSString stringWithFormat:@"%d",
        [xmlString length]] 
        forHTTPHeaderField:@"Content-length"];
 
[request setHTTPBody:[xmlString 
        dataUsingEncoding:NSUTF8StringEncoding]];
 
[[NSURLConnection alloc] 
        initWithRequest:request 
                   delegate:self];
Run Code Online (Sandbox Code Playgroud)


nav*_*ins 30

这是一种使用GET的简单方法:

   NSURL *url = [NSURL URLWithString:@"http://www.32133.com/test?name=xx"];
   NSData *data = [NSData dataWithContentsOfURL:url];
   NSString *ret = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
   NSLog(@"ret=%@", ret);
Run Code Online (Sandbox Code Playgroud)


Mil*_*deh 5

在objective-c中实现HTTP请求的方法有很多,CFNetwork库是为此目的而设计的,但开发http请求的最简单方法就是使用NSURLConnection.

这是一个示例:

NSURLConnection *cmdConn = [[[NSURLConnection alloc] initWithRequest:req delegate:self startImmediately:YES] autorelease];
Run Code Online (Sandbox Code Playgroud)

您将收到回复didreceiveResponse:didreceiveData:代表.


Adr*_*scu 5

您可能还想查看此示例

ASIFormDataRequest  *request =
     [[[ASIFormDataRequest  alloc]  initWithURL:url] autorelease];
[request setPostValue:@"Ben" forKey:@"first_name"];
[request setPostValue:@"Copsey" forKey:@"last_name"];
[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"];
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到更多详细信息:http: //www.redcodelabs.com/2009/08/objective-c-http-post-get-data/


小智 5

希望这会对你有所帮助,如果你想发表一个表格:

NSMutableURLRequest *request = 
        [[NSMutableURLRequest alloc] initWithURL:
            [NSURL URLWithString:@"http://www.32133.com/test"]];

[request setHTTPMethod:@"POST"];

NSString *postString = @"name=ivybridge&description=This%20is%20desp.";

[request setValue:[NSString 
        stringWithFormat:@"%d", [postString length]] 
        forHTTPHeaderField:@"Content-length"];

[request setHTTPBody:[postString 
        dataUsingEncoding:NSUTF8StringEncoding]];

[[NSURLConnection alloc] 
        initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)