我是ASIHTTPRequest中的COMPUME DUMMY。我刚刚下载了该库并将其添加到我的项目中,现在我正试图了解使用它的基础知识。我找到了一些很好的示例here
这个小教程是关于将图像上传到服务器的。我尝试了一下,似乎一切正常(但是我对[request responseString]返回的NSString感到困惑,它返回了整个网页的HTML代码),但我想知道如何从中下载图像(或上传的任何内容)服务器。经过一番搜索,我发现this,它没有给我任何答案,只有更多问题,因为对我来说还很不清楚。
让我列举一下我的问题:
1)您能否向我提供一些代码,以显示如何从服务器下载数据(无论是哪种数据:图像,字符串,数字等)?
2)我是否应该知道服务器端的php代码才能与服务器一起使用?
3)如果是-我怎么知道服务器端的PHP代码?
4)如果通过php脚本或任何其他方式处理请求,这有多重要?
5)responseString的作用是什么?可以返回巨大的HTML代码吗?
6)主要问题。 ASIHTTPRequest是否有一个很好的教程?诸如“ASIHTTPRequest for Dummies”之类的东西?我找到了官方文档here,但它对这些内容的解释确实很差,我只是找不到任何其他教程。
迫切需要任何帮助。
最佳答案
在这里,您可以找到一个非常基本的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];
它使用块,因此所有功能都可以很好地打包在一个函数中,而您不必处理委托(delegate)和其他事务。 (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];
绝对没有必要。
不适用
服务器所使用的语言也不相关。
responseString包含服务器作为NSString发送回给您的所有数据。可能很大...
我不知道您所说的“傻瓜教程”;您应该尝试并遵循网站上的文档;它们可能看起来很复杂,但实际上并非如此。
另一方面,您可能已经知道:development of ASIHTTP has been ceased。如果您只是开始学习它,那么您最好考虑考虑替代方法。查看链接页面上的一些替代方法。
关于iphone - ASIHTTPRequest for Dummies,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8256926/