设置内容类型覆盖httpbody?
我在ios应用程序中调用API时遇到了一个奇怪的问题。 我创建了一个post请求
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"];
一旦我添加了这行代码,我发送给请求主体的数据就不再作为请求的一部分传递。 这听起来像是其他人经历过的行为吗?
我也在用
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
检查这个解释“Content-type:application / json; charset = utf-8”究竟是什么意思?
- 从iOS应用程序访问iOS崩溃报告
- 启用iphone 6分辨率不启用iphone 6 plus
- XCode 5 / iOS 7 – 本地化不能在模拟器中工作
- 为什么我的数据成功写入iPhone模拟器上的文件,但不是我的设备?
- 在Swift中使用NSOperation和NSOperationQueue在UICollectionView中进行延迟加载
- 使用NSURLConnection上载时,将进度设置为UIProgressView
- NEVPNErrorDomain尝试启动TunnelProvider网络扩展时出错1
- 如何在Dev环境下testingSmart App Banner Urls
- Swift /如何使用dispatch_group与多个被称为Web服务?