NSURLRequest setting the HTTP header

后端 未结 6 2053
名媛妹妹
名媛妹妹 2020-12-12 12:21

I need to set the HTTP header for a request. In the documentation for the NSURLRequest class I didn\'t find anything regarding the HTTP header. How can I set the HTTP header

相关标签:
6条回答
  • 2020-12-12 12:58

    for Swift

    let url: NSURL = NSURL(string: APIBaseURL + "&login=1951&pass=1234")!
    var params = ["login":"1951", "pass":"1234"]
    request = NSMutableURLRequest(URL:url)
    request.HTTPMethod = "POST"
    var err: NSError?
    request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &err)
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("application/json", forHTTPHeaderField: "Accept")
    
    0 讨论(0)
  • 2020-12-12 13:04

    Sample Code

     - (void)reqUserBalance:(NSString*)reward_scheme_id id:(NSString*)user_id success:(void (^)(id responseObject))success failure:(void (^)(id responseObject))failure{
    
        NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@reward/%@/user/%@/balance",URL_SERVER,reward_scheme_id,user_id]];
        NSLog(@"%@",url);
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
    
        [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        [request setValue:@"true" forHTTPHeaderField:@"Bypass"];
    
        [NSURLConnection sendAsynchronousRequest:request
                                           queue:[NSOperationQueue mainQueue]
                               completionHandler:^(NSURLResponse *response,
                                                   NSData *data, NSError *connectionError)
         {
                             options:kNilOptions error:NULL];
    
             if (data.length > 0 && connectionError == nil)
             {
                 NSDictionary * userPoints = [NSJSONSerialization JSONObjectWithData:data
                                                                          options:0
                                                                            error:NULL];
    
                 NSString * points = [[userPoints objectForKey:@"points"] stringValue];
                 NSLog(@"%@",points);
                 [SecuritySetting sharedInstance].usearAvailablePoints = points;
    
    
             }
         }];
    
    }
    
    0 讨论(0)
  • 2020-12-12 13:09

    You can add value in NSMutableURLRequest for HeaderField :

    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
    
    [request setValue:VALUE forHTTPHeaderField:@"cookie"];
    

    This is working for me.

    0 讨论(0)
  • 2020-12-12 13:12
     NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
    
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"your value" forHTTPHeaderField:@"for key"];//change this according to your need.
    [request setHTTPBody:postData];
    
    0 讨论(0)
  • 2020-12-12 13:16

    I know its late but may help others , For SWIFT 3.0

    let url = NSURL(string: "http://www.yourwebsite.com")
        let mutAbleRequest = NSMutableURLRequest(URL: url!)
        mutAbleRequest.setValue("YOUR_HEADER_VALUE", forHTTPHeaderField:"YOUR_HEADER_NAME")
        myWebView.loadRequest(mutAbleRequest)
    
    0 讨论(0)
  • 2020-12-12 13:18

    You need to use a NSMutableURLRequest

    NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url]
                                    autorelease];
    
    [request setValue:VALUE forHTTPHeaderField:@"Field You Want To Set"];
    

    or to add a header:

    [request addValue:VALUE forHTTPHeaderField:@"Field You Want To Set"];
    
    0 讨论(0)
提交回复
热议问题