पर HTTP शीर्षलेख जोड़ें NSURLRequest
ऑब्जेक्ट पर HTTP शीर्षलेख जोड़ने का कोई तरीका है?NSURLRequest
[request addValue:@"PC" forHTTPHeaderField:@"machineName"]
पर HTTP शीर्षलेख जोड़ें NSURLRequest
ऑब्जेक्ट पर HTTP शीर्षलेख जोड़ने का कोई तरीका है?NSURLRequest
[request addValue:@"PC" forHTTPHeaderField:@"machineName"]
मुझे नहीं लगता कि आप एक NSURLRequest
के HTTP हेडर संशोधित कर सकते हैं करते हैं: मैं का उपयोग कर उन्हें NSMutableURLRequest
में जोड़ने के लिए इस्तेमाल किया। मुझे लगता है कि आप NSURLRequest
ऑब्जेक्ट को संशोधित करने का प्रयास कर रहे हैं जिसे आपने प्रारंभ नहीं किया था?
आप अपने अनुरोध की एक mutableCopy
बना सकते हैं और फिर सेट निम्नलिखित विधि के साथ शीर्ष लेख फ़ील्ड:
-(void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field.
उसके बाद आप परिवर्तनशील अनुरोध वापस अपने NSURLRequest
चर पर copy
कर सकते हैं।
संपादित: नीचे
/* 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);
NSString *urlString = @"http://10.28.79.63:3000/testing";
NSMutableURLRequest *imageRequest = [[NSMutableURLRequest alloc] init] ;
[imageRequest setURL:[NSURL URLWithString:urlString]];
[imageRequest setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[imageRequest setValue:contentType forHTTPHeaderField: @"content-Type"];
NSMutableData *body = [NSMutableData dataWithCapacity:[imageData length] + 512];
[body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary]dataUsingEncoding:NSUTF8StringEncoding]];
//Here u adds the Headers which will be posted in body
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; content-type: application/octet-stream; name=\"userfile\"; filename=\"inLove.mp4\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[imageRequest setHTTPBody:body];
NSURLConnection * theConnection = [[NSURLConnection alloc] initWithRequest:imageRequest
delegate:self];
जोड़ा उदाहरण पहले से ही उत्तर दिया (और उन सवालों के जवाब के लिए धन्यवाद), लेकिन यहाँ एक अधिक सरल उदाहरण है:
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
[request setValue:@"es" forHTTPHeaderField:@"Accept-Language"];
यह वास्तव में सबसे छोटा सही उत्तर है (वाई) – Adeel
प्रतिक्रिया के लिए धन्यवाद, बात यह है कि आप एनटीआरएलआरवेस्ट में एचटीपी हेडर जोड़ नहीं सकते हैं, आप केवल उन्हें प्राप्त कर सकते हैं, ईमानदार होने के लिए मैं NSURLRequest का उपयोग करना चाहता था क्योंकि मैं प्रतिनिधि का उपयोग करके एक खंडित फ़ाइल प्राप्त करना चाहता था "didRece iveData "लेकिन अब मैं NSMutableURLRequest के साथ धागे का उपयोग कर रहा हूं। –
मुझे पता है कि यह कुछ समय हो गया है क्योंकि मैंने इसे पोस्ट किया है, लेकिन कुछ हद तक लोकप्रिय मांग के कारण मैंने शुद्धता के उत्तर को अद्यतन किया और एक उदाहरण जोड़ा। – Hless
हे @ जब तक मैंने इस विधि की कोशिश की लेकिन मुझे अभी भी अनधिकृत हो रहा है। क्या आप यहां मेरा प्रश्न देख सकते हैं: http://stackoverflow.com/questions/40342728/sending-httpheaderfield-for-nsurlrequest-in-afmultipartformdata –