我是ASIHTTPRequest中的完全虚无。我刚刚下载了库并将其添加到我的项目中,现在我正在尝试理解使用它的基础知识。我找到了一些非常好的例子here
这个小教程是关于将图像上传到服务器的。我试过它,事情似乎有效(但我对[request responseString]返回的NSString感到困惑,它返回了整个网页的HTML代码),但我想知道如何下载图像(或任何上传的内容)服务器。在搜索了一下之后我发现了this并且它没有给我任何答案,只有更多的问题,因为它对我来说还不太清楚。 让我来填补我的问题:
1)您能否向我提供一小段代码,展示如何从服务器下载数据(无论哪种数据:图像,字符串,数字等)?
2)我是否应该知道服务器端的php代码才能使用服务器?
3)如果是 - 我怎么知道服务器端的PHP代码?
4)如果请求是通过php脚本或任何其他方式处理的,那么它有多重要?
5)responseString的作用是什么?它能给我一个巨大的HTML代码吗?
6)主要问题。是否有一个很好的ASIHTTPRequest教程?像“ASIHTTPRequest for dummies”之类的东西?我找到了官方文档here,但它解释了很糟糕的东西,我找不到任何其他教程。
迫切需要任何帮助。
答案 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。如果你刚刚开始学习它,你最好考虑考虑另一种选择。查看链接页面了解一些替代方案。