Question

NSMutableURLRequest change apparemment le cas sur les champs d'en-tête.

Par exemple, réglage:

[request addValue:myValue forHTTPHeaderField:@"FOOBAR"];

va changer le champ d'en-tête "Foobar".

Quelqu'un sait-il un moyen de contourner cela? Je travaille avec un service qui nécessite un cas domaine sensible à transmettre.

En outre, NSMutableURLRequest ne devrait pas vraiment être prendre la décision pour moi.

Était-ce utile?

La solution

NSMutableURLRequest suit le RFC 2616 pour spec HTTP / 1.1 qui dit:

  

Les noms de champs sont insensibles à la casse.

Ou la documentation , qui dit:

  

Conformément à la RFC HTTP, les noms de champ d'en-tête HTTP sont insensibles à la casse.

On peut donc conclure que NSURLRequest est vraiment juste standardise la capitalisation des champs d'en-tête. De la part de lui. =)

On dirait que vous êtes hors de la chance.

Edit: « Je travaille avec un service qui nécessite un cas domaine sensible à transmettre. » Étant donné que le protocole HTTP / 1.1 définit les noms de champ d'en-tête pour être insensible à la casse, ce service enfreint le protocole. L'Internet est déjà plein d'exemples sur ce qui se passe lorsque les entreprises et les services tentent d'ignorer le protocole pour leur propre bénéfice. . (Ex: jamais essayé d'écrire une page Web qui fonctionne dans Firefox et IE6) il faut éviter d'utiliser ce service si vous pouviez, ou leur écrire et leur faire savoir ce qu'ils font et pourquoi il est faux

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top