我正在尝试使用iOS访问JIRA REST Web服务。我设法让请求工作,但响应不是JSON。我得到一个带有会话ID的响应以及来自此请求之前的登录请求的所有内容,并且此请求返回类似的响应,但返回的数据假定为JSON但看起来像:< 61737369 616e2e6e 65742f73 65637572 652f7072 (继续几行)>。我已经使用JMeter发出了相同的请求,并返回了一个JSON字符串,但iOS中的此请求却没有。
NSURL *url = [NSURL URLWithString:@"https://company.atlassian.net/rest/
api/2/project"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url2];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type" ];
[request setHTTPMethod:@"GET"];
//Encoded authorization header
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
[NSURLConnection sendAsynchronousRequest:request queue:
[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse
*response, NSData *data, NSError *error){ }];
我试图操纵Content-Type尝试随机不同的东西,但没有一个有效。关于如何让它返回JSON的任何想法?
答案 0 :(得分:1)
您正在设置Content-Type
标题,但您似乎没有发送任何内容。您似乎更应该设置Accept
标题。
即使内容是字符串,也无法记录NSData
实例并期望看到内容。记录时,尝试将数据转换为字符串(alloc, initWithData:
)或反序列化JSON(JSONObjectWithData:options:error:
)。