2011-02-25 5 views
11

私は、XMLデータを返すObjetive CでWebサービスを呼び出すようにしたいと私は、サーバーにヘッダーでいくつかの情報を渡す必要があり、 JavaScriptでは、我々はjqueryのを使用してそれを行うことができます同じように、Objective-CのHttpヘッダーフィールドを設定するには?

x.setRequestHeader( 'キー'、'値');

xはxmlHttpRequestオブジェクトです。 NSConnectionクラスのヘッダデータを渡す方法 私はgoogleを使用しましたが、良い解決策を見つけることはできません。 私を助けてください。

答えて

17

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]; 
+0

はNSMutableURLRequestでcustumキー値がHTTPSのURL ...任意のアイデアのために動作しません追加、次のコードを参照してください? – DShah

+0

URLはHTTPでもHTTPSでも問題ありません。どちらの場合でもNSMutableRequestは属性を送信します。 HTTPSサービスの認証代理人を処理しましたか? –

+0

コンテンツタイプをJSONに設定していて、xmlに設定していると主張していますか?あなたは 'application/json'に設定する必要があります – Houman