ASIHTTPRequest:添加应该随每个请求发送的标头

时间:2012-02-23 07:06:09

标签: iphone objective-c ios ios4 asihttprequest

我在一个使用restful web服务的iPhone项目中工作。我需要发送一些跟踪代码或版本号与从iPhone端发送的每个请求。我想通过修改ASIHTTPRequest类在每个请求中添加一个标头值。

  1. 是否有ASIHTTPRequest提供的方法(不修改框架文件)?
  2. 如果我需要修改ASIHTTPRequest类,修改它的最佳位置是什么? (比如buildRequestHeaders ..)
  3. 感谢。

3 个答案:

答案 0 :(得分:4)

可能是你可以写一个新的类,比如MyASIHttprequest并覆盖方法requestwithURL

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

或者您可以编写一个方法来添加标题,但是每次新建asihttprequest时,都应该调用此方法添加标题;

答案 1 :(得分:3)

您可以按照以下方法添加标题

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

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

希望这有帮助。

答案 2 :(得分:1)

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

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

此问题也解决了这个问题:Is it safe to still use ASIHTTPRequest?

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