Add HTTP Header to NSURLRequest

前端 未结 3 923
星月不相逢
星月不相逢 2020-12-02 12:11

Is there any way to add HTTP header to NSURLRequest object? I used to add them in NSMutableURLRequest using:

[request addValue:@\"P         


        
3条回答
  •  再見小時候
    2020-12-02 12:39

    I don't think you can modify the HTTP Headers of a NSURLRequest. I think you're trying to modify a NSURLRequest object that you didn't initialize?

    You could create a mutableCopy of your request and then set the header fields with the following method:

     -(void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field.
    

    After that you can copy the mutable request back onto your NSURLRequest variable.

    EDIT: Added example below

    /* Create request variable containing our immutable request
     * This could also be a paramter of your method */
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.stackoverflow.com"]];
    
    // Create a mutable copy of the immutable request and add more headers
    NSMutableURLRequest *mutableRequest = [request mutableCopy];
    [mutableRequest addValue:@"Hless" forHTTPHeaderField:@"X-user-nick"];
    
    // Now set our request variable with an (immutable) copy of the altered request
    request = [mutableRequest copy];
    
    // Log the output to make sure our new headers are there    
    NSLog(@"%@", request.allHTTPHeaderFields);
    

提交回复
热议问题