有没有人对通过iPhone使用其REST API获取或发布到Amazon S3服务有任何建议。它看起来不可能,但我可能正在阅读错误的文档。用于访问Amazon S3 REST API的iPhone API
非常感谢您的帮助!
L.
有没有人对通过iPhone使用其REST API获取或发布到Amazon S3服务有任何建议。它看起来不可能,但我可能正在阅读错误的文档。用于访问Amazon S3 REST API的iPhone API
非常感谢您的帮助!
L.
在一般情况下,我建议使用ASIHttpRequest,它具有很多内置功能(REST兼容)以及许多事情,使得生活比使用NSURLConnection更容易。
它也有S3 support开箱。
你应该能够使用NSURLRequest的东西来做你想做的。
NSMutableData* _data = nil;
- (IBAction) doIt:(id)sender {
NSURL* url = [NSURL URLWithString: @"http://theurl.com/"];
NSMutableURLRequest* req = [NSMutableURLRequest requestWithURL: url];
NSURLConnection* con = [NSURLConnection connectionWithRequest: req delegate: self];
NSData* body = [@"body of request" dataUsingEncoding: NSUTF8StringEncoding];
_data = [NSMutableData new];
[req setHTTPMethod: @"POST"];
[req setHTTPBody: body];
[con start];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[_data appendData: data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString* result = [[[NSString alloc] initWithData: _data encoding: NSUTF8StringEncoding] autorelease];
// process your result here
NSLog(@"got result: %@", result);
}
这没有任何错误检查它和_data变量应该存储在一个实例变量,但总的思路应该为你工作。您可能还需要设置一些请求标头来告诉服务器身体数据的编码等等。
为什么看起来不可能?毕竟它只是一个REST API。 – Kekoa 2009-06-16 22:56:25
据我所知,用于访问S3的唯一基于Cocoa/Cocoa Touch的工具包是ConnectionKit。否则,你会被困在建立自己的,这可能会变得相当复杂的任务。 我可以问你需要哪些API的位? ConnectionKit的当前版本确实支持S3,但有点rope。。我们目前正在编写2.0版本。如果我们有人专门为一个协议而工作,那么我们现在可以把精力集中在目前我们的共同利益上。如果感兴趣,请通过http://mikeabdullah.net/other/contact_me.html与我联系以获得进一步讨论 – 2009-06-17 23:41:20