ASIHTTPRequest for dummies

时间:2011-11-24 12:17:30

标签: iphone objective-c ios asihttprequest

我是ASIHTTPRequest中的完全虚无。我刚刚下载了库并将其添加到我的项目中,现在我正在尝试理解使用它的基础知识。我找到了一些非常好的例子here

这个小教程是关于将图像上传到服务器的。我试过它,事情似乎有效(但我对[request responseString]返回的NSString感到困惑,它返回了整个网页的HTML代码),但我想知道如何下载图像(或任何上传的内容)服务器。在搜索了一下之后我发现了this并且它没有给我任何答案,只有更多的问题,因为它对我来说还不太清楚。 让我来填补我的问题:

1)您能否向我提供一小段代码,展示如何从服务器下载数据(无论哪种数据:图像,字符串,数字等)?

2)我是否应该知道服务器端的php代码才能使用服务器?

3)如果是 - 我怎么知道服务器端的PHP代码?

4)如果请求是通过php脚本或任何其他方式处理的,那么它有多重要?

5)responseString的作用是什么?它能给我一个巨大的HTML代码吗?

6)主要问题。是否有一个很好的ASIHTTPRequest教程?像“ASIHTTPRequest for dummies”之类的东西?我找到了官方文档here,但它解释了很糟糕的东西,我找不到任何其他教程。

迫切需要任何帮助。

1 个答案:

答案 0 :(得分:6)

  

1)您能否向我提供一小段代码,展示如何从服务器下载数据(无论哪种数据:图像,字符串,数字等)?

在这里你可以找到一个非常基本的POST示例:

NSURL *url = [NSURL URLWithString:@"http://localhost/webroot/index.php/test/signUp"];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addPostValue:@"Raul" forKey:@"name"];
[request addPostValue:@"Hello World" forKey:@"message"];

[request setCompletionBlock:^{
    NSString *responseString = [request responseString];
    NSLog(@"Response: %@", responseString);
}];
[request setFailedBlock:^{
    NSError *error = [request error];
    NSLog(@"Error: %@", error.localizedDescription);
}];

[request startAsynchronous];

它使用块,因此在一个函数中将所有东西很好地打包在一起,你不必处理代理和其他代码。 (source

如果您只想获取页面,可以使用:

NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setCompletionBlock:^{
    NSString *responseString = [request responseString];
    NSLog(@"Response: %@", responseString);
}];
[request setFailedBlock:^{
    NSError *error = [request error];
    NSLog(@"Error: %@", error.localizedDescription);
}];

[request startAsynchronous];

  

2)我是否应该知道服务器端的php代码才能使用服务器?

绝对没有必要。

  

3)如果是 - 我怎么知道服务器端的PHP代码?

N.A。

  

4)如果请求是通过php脚本或任何其他方式处理的,那么它有多重要?

服务器编写的语言也不相关。

  

5)responseString的作用是什么?它能给我一个巨大的HTML代码吗?

responseString包含服务器作为NSString发回给您的所有数据。它可能很大......

  

6)主要问题。是否有一个很好的ASIHTTPRequest教程?像“ASIHTTPRequest for dummies”之类的东西?我在这里找到官方文档点击,但它解释了很糟糕的东西,我找不到任何其他教程。

我不知道像你说的“傻瓜”教程;你应该尝试按照网站上的文档;它们可能看起来很复杂,但实际上并非如此。

另一方面,你可能已经知道了:development of ASIHTTP has been ceased。如果你刚刚开始学习它,你最好考虑考虑另一种选择。查看链接页面了解一些替代方案。