2012-02-23 9 views
1

私は安らかなWebサービスを使用するiPhoneプロジェクトで作業しています。私は、iPhone側から送信するすべてのリクエストで、トラッキングコードまたはバージョン番号を送信する必要があります。 ASIHTTPRequestクラスを変更して、すべてのリクエストにヘッダー値を追加することを考えています。ASIHTTPRequest:リクエストごとに送信するヘッダを追加する

  1. これを行うために(フレームワークファイルを変更せずに)ASIHTTPRequestが提供する方法はありますか?
  2. ASIHTTPRequestクラスを変更する必要がある場合は、変更するのに最適な場所は何ですか? (buildRequestHeaders ..のような)

ありがとう。

+0

オープンソースの場合はソースを変更するか、ソースをサブクラス化します。 –

+0

私はすでにいくつかのコーディングをしており、このヘッダーをすべての場所から変更せずに追加したいと考えています。 – uiroshan

+0

次に、ソースコードを –

答えて

4

あなたはMyASIHttprequestなどの新しいクラスを作成し、メソッドrequestwithURL

+ (MyASIHTTPrequest *) requestWithURL:url{ 
    MyASIHTTPrequest *request; 
    if (request = [super requestWithUrl:url]){ 
     [request addRequestHeader:@"" value:@""]; 
    } 
    return request; 
} 

を上書きすることができますであり得るか、またはあなたは、ヘッダーを追加する方法を書くことができますが、多分あなたはasihttprequestを新しいたびに、あなたがこれを呼び出す必要がありますヘッダを追加するメソッド。

3

あなたは方法

ASIFormDataRequest *currentRequest = [ASIFormDataRequest requestWithURL:url]; 
[currentRequest addRequestHeader:@"" value:@""]; 

e.g.[currentRequest addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"]; 

に従うことによって、ヘッダを追加することができますが、この情報がお役に立てば幸いです。

+0

に変更することをお勧めします。コンテンツタイプとしてaudio/wavを追加することで、オーディオファイルのために動作します。 – kunjus

1

ASIHTTPRequestで追加するだけで、まだアプリに組み込まれていない場合は、停止して別のものに切り替えることをおすすめします。

ASIHTTPRequestの作成者はフレームワークの開発を中止し、ブログの投稿でも「正直なところ、他の場所を探す時が来たと思う」と勧めています。 - Blog post

はまた、これは、同様にこの問題に対処されました:Is it safe to still use ASIHTTPRequest?

私は個人的にあなたがNSURLConnectionを使用して、POSTメソッドを介してデータを送信することをお勧めします。

関連する問題