为什么RestKit返回的响应与NSURLConnection不同

时间:2012-01-16 16:11:09

标签: json cocoa-touch yaml restkit

我在一个项目中使用RestKit并得到一个意外的响应'---',所以我尝试使用标准的NSURLConnection,但我得到了正确的响应 - 一个json格式的字符串。任何人都可以弄清楚这两个请求之间的区别是什么?如果它有所不同,则内容类型为响应的“text / yaml”。

这是返回'---'

的RKRequest版本
NSURL *URL = [NSURL URLWithString:URL_STRING];
RKRequest *request = [RKRequest requestWithURL:URL delegate:self];
request.queue = [RKClient sharedClient].requestQueue;
request.authenticationType = RKRequestAuthenticationTypeHTTP;
request.method = RKRequestMethodPOST;
request.params = requestParams;
[request send]; 

这是NSURLConnection版本,它在json / yaml中返回格式正确的响应。

NSURL *url = [NSURL URLWithString:URL_STRING];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy 
                                               timeoutInterval:60.0];

NSData *requestData = [NSData dataWithBytes:[requestParams UTF8String] 
                                     length:[requestParams length]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];

更新:

好的,现在情况变得非常奇怪 - 它完全停止了对NSURLConnection和RestKit的工作。如果有人可以提供帮助,将不胜感激,这里是我使用的cURL扔终端验证结果(这仍然有效)。

curl -i -H "Content-Type: application/json" -H "Accept: application/json" -d '{"username":"username","password":"password"}' http://example.com/login

我的requestParams是@“{\”username \“:\”username \“,\”password \“:\”password \“}”

0 个答案:

没有答案