मुझे एक अनुरोध के लिए HTTP हेडर सेट करने की आवश्यकता है। NSURLRequest वर्ग के लिए प्रलेखन में मुझे HTTP हेडर के संबंध में कुछ भी नहीं मिला। कस्टम डेटा रखने के लिए मैं HTTP हेडर कैसे सेट कर सकता हूं?
जवाबों:
आपको एक NSMutableURLRequest का उपयोग करने की आवश्यकता है
NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url]
autorelease];
[request setValue:VALUE forHTTPHeaderField:@"Field You Want To Set"];
या हेडर जोड़ने के लिए:
[request addValue:VALUE forHTTPHeaderField:@"Field You Want To Set"];
स्विफ्ट के लिए
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")
request.setValue("Some value", forHTTPHeaderField: "Content-Type")
क्या यह आपके लिए काम कर रहा है?
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];
मैं इसकी देरी जानता हूं लेकिन दूसरों के लिए मदद कर सकता हूं, स्विफ्ट 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)
आप NSMutableURLRequest
HeaderField के लिए मान जोड़ सकते हैं :
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setValue:VALUE forHTTPHeaderField:@"cookie"];
यह मेरे लिए काम कर रहा है।
नमूना कोड
- (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;
}
}];
}