3

我在从我的 ios 应用程序调用 API 时遇到了一个奇怪的问题。我创建一个发布请求

NSMutableURLRequest *request = [NSMutableURLRequest
                                requestWithURL:url
                                   cachePolicy:NSURLRequestUseProtocolCachePolicy
                               timeoutInterval:5.0];
[request setHTTPMethod:@"POST"];

然后我创建 json 以发送到请求并将其添加到请求的正文中,如下所示:

[request setHTTPBody:encodedData];

最后,我添加了一些 cookie,然后设置:

NSArray* cookieArray = [NSArray arrayWithObjects: sessionCookie, uidCookie, vidCookie, nil];
NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookieArray];
[request setAllHTTPHeaderFields:headers];

这一切都很好。但是,由于我正在发送 json,因此我正在努力做好并使用以下代码行设置内容类型:

[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField: @"Content-Type"];

一旦我添加了这行代码,我发送到请求正文的数据就不再作为请求的一部分传递。这听起来像其他人经历过的行为吗?

4

1 回答 1

3

我也在使用

[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

检查这个解释 “Content-type: application/json; charset=utf-8” 的真正含义是什么?

于 2013-03-06T22:18:42.193 回答