Как установить поля заголовка Http в Objective-C?

Я хочу вызвать веб-сервис в Objetive C, который возвращает данные xml, и мне нужно передать некоторую информацию в заголовке на сервер, как и в javascript, мы можем сделать это с помощью jquery,

x.setRequestHeader( 'ключ', 'значение');

где x - объект xmlHttpRequest. Как мы можем передавать данные заголовка в классе NSConnection, Я использовал google, но havent нашел хорошее решение. пожалуйста помогите.

Ответ 1

Вы можете передать информацию в заголовке, используя класс NSMutableURLRequest, а затем вызвать класс NSURLConnection (он вызовет делегат соединения).

см. следующий код,


NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:[myServerUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]
                                                        cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                                    timeoutInterval:60.0];
//do post request for parameter passing 
[theRequest setHTTPMethod:@"POST"];

//set the content type to JSON
[theRequest setValue:@"xml" forHTTPHeaderField:@"Content-Type"];

//passing key as a http header request 
[theRequest addValue:@"value1" forHTTPHeaderField:@"key1"];

//passing key as a http header request
[theRequest addValue:@"value2" forHTTPHeaderField:@"key2"];

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

if( theConnection )
{
    webData = [[NSMutableData data] retain];
}
else
{
    NSLog(@"theConnection is NULL");
}

[theConnection release];