【问题标题】:Issues with NSURLSession Not Sending HTTPAdditionalHeadersNSURLSession 不发送 HTTPAdditionalHeaders 的问题
【发布时间】:2014-05-25 19:52:34
【问题描述】:

我似乎无法让我的网络代码工作。在过去的两天里,我至少花了几个小时浏览文档和谷歌,但我无法弄清楚。无论出于何种原因,我的NSURLSession 似乎没有发送标题。我在 Postman for Chrome 中执行了正确的请求,并使用了这些确切的参数,所以我知道我没有发送不正确的数据。我继续收到一个错误,我可以通过删除标头参数在 Postman 中重现该错误。

代码:

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];

NSDictionary *sessionHeaders = [[NSDictionary alloc] initWithObjectsAndKeys:
@"application/json", @"Accept", @"application/xml", @"Content-Type", 
[NSString stringWithFormat:@"LivePerson appKey=%@", self.getAppKey], @"Authorization", nil];

sessionConfig.HTTPAdditionalHeaders = sessionHeaders;

NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig];

NSURLSessionDataTask *endpoints = [session dataTaskWithURL:[NSURL URLWithString:baseURL] 
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

NSDictionary *endpoints = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
NSLog(@"%@", endpoints);
}];

【问题讨论】:

  • 我要尝试的第一件事是通过使用调试代理服务器转储请求(例如Charles)来确认问题是否是您认为的问题。这意味着您是不猜测出了什么问题,但能够并排比较来自 Chrome 和 NSURLSession 代码的请求。

标签: ios objective-c nsurlsession nsurlsessionconfiguration


【解决方案1】:

反之亦然……应该这样做

NSDictionary *sessionHeaders = [[NSDictionary alloc] initWithObjectsAndKeys:
@"Accept", @"application/json", @"Content-Type", @"application/xml",  
@"Authorization", [NSString stringWithFormat:@"LivePerson appKey=%@", self.getAppKey], nil];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    相关资源
    最近更新 更多