2012-02-23 32 views
1

我正在使用平静的Web服务的iPhone项目中工作。我需要发送一些跟踪代码或版本号,每次从iPhone端发送请求。我正在考虑通过修改一个ASIHTTPRequest类来为每个请求添加一个头部值。ASIHTTPRequest:添加每个请求应发送的标头

  1. 是否有ASIHTTPRequest提供这样做的任何方法(无需修改框架文件)?
  2. 如果我需要修改ASIHTTPRequest类,那么修改它的最佳位置是什么? (如buildRequestHeaders ..)

谢谢。

+0

如果源代码打开或子类化,则更改源代码。 – 2012-02-23 07:08:01

+0

我已经有一些编码的东西,我想添加这个头,而不是从每个位置改变它。 – uiroshan 2012-02-23 07:29:59

+0

然后,最好更改源代码 – 2012-02-23 09:09:33

回答

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

,它将音频/ wav作为内容类型添加到音频文件中。 – kunjus 2014-06-11 11:25:57

1

如果您刚刚开始在ASIHTTPRequest中添加并且它尚未嵌入您的应用程序,那么我建议您停止并切换到其他位置。

ASIHTTPRequest的创建者已经停止了该框架的开发,甚至在他的博客文章“老实说,我认为现在是开始寻找其他地方的时候了”。 - Blog post

而且这是在这个问题解决,以及:Is it safe to still use ASIHTTPRequest?

我个人建议您使用NSURLConnection的,并通过POST方法发送数据。