iOS - 向CakePHP REST发出POST请求

时间:2012-03-01 14:44:10

标签: objective-c ios http cakephp rest

我正在寻找如何对REST Web服务发出POST请求,特别是CakePHP服务,我似乎发现所有人都说要使用ASIHTTPRequest库,但我发现它还没有更新在一年左右的时间里,所以我宁愿使用更新的方法,最好是直接来自iOS。

我知道你可以使用NSURLConnection打电话,但我真的不明白,如果有人能指出我正确的方向,我想对它进行更全面的解释。

此外,我已经使用我的REST API通过使用NSString的stringWithContentOfURL方法从我的服务器成功检索数据,但据我所知,我无法使用它来进行POST调用。

2 个答案:

答案 0 :(得分:5)

我通常这样做。

NSURL *url = [NSURL URLWithString:@"http://someurl.com"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req setHTTPMethod:@"POST"];
[req setHTTPBody:self.yourData];
NSHTTPURLResponse __autoreleasing *response;
NSError __autoreleasing *error;
[NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error];
if (error == nil && response.statusCode == 200) {
    // Process response
} else {
    // Process error
}

[NSURLConnection sendSynchronousRequest:]方法还会返回您也可以操作的NSData对象。

答案 1 :(得分:1)

我正在解决同样的问题(带有CakePHP REST POST后端的iOS前端)。这个帖子非常有帮助。请使用curl尝试以下内容:

curl -d "data[Model][field0]=field0value&data[Model][field1]=field1value" https://pathtoyourapi.com/plugin/controller/function.html

或者

curl -d "data[Model][field0]=field0value&data[Model][field1]=field1value" https://pathtoyourapi.com/plugin/controller/function
相关问题