无法向NSMutableRequest添加标头

时间:2018-06-05 13:17:31

标签: ios objective-c nsmutableurlrequest

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:tempURL]] autorelease];
[request setValue:encryptedValue forHTTPHeaderField:@"EncString"];

我可以发现请求中的所有其他标题但是缺少此特定标题,任何人都可以告诉我可能是什么原因。

1 个答案:

答案 0 :(得分:0)

我尝试过以下代码:

foo

输出结果为:

NSString *tempURL = @"https://stackoverflow.com/questions/50701101/unable-to-add-a-header-to-nsmutablerequest";
NSString *encryptedValue = @"whatever_that_has_no_special_characters_or_values_that_would_make_you_think_it_is_relevant_to_reproduce_this_issue";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:tempURL]];    
[request setValue:encryptedValue forHTTPHeaderField:@"EncString"];
NSLog(@"%@", request.allHTTPHeaderFields);

看起来不错。没有理由怀疑您提供的代码是否对此问题负责。也许你应该检查下列之一:

  • { EncString = "whatever_that_has_no_special_characters_or_values_that_would_make_you_think_it_is_relevant_to_reproduce_this_issue"; } 真正是一个有效的对象放在标题中(是字符串,不是太长,没有非常特殊的字符)
  • 您要打印的对象是否真的是此特定请求(打印encryptedValue会返回相同的结果)
  • 此对象中没有任何地方正在删除牧民(如果没有其他任何子类NSLog(@"%p", request);并覆盖相关方法以跟踪正在发生的事情)

如果这些工作都没有创建一个帖子,其中包含您所做的事情的其他详细信息,您在哪里检查这些标题并“可以发现所有其他标题”。