如何使用ASIHTTPRequest发送HTTP GET请求

时间:2012-06-29 13:42:47

标签: ios asihttprequest

我想使用ASIHTTP库发送请求,如:

HTTP GET http://a.com/?user=abc&pass=123

我不想自己构造字符串,因为我认为ASI HTTP库已经解决了一些UTF-8编码问题,我只能找到要使用的API:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:engine.userID forKey:@"from_id"];

但我不能使用POST,因为服务器不支持它。

3 个答案:

答案 0 :(得分:1)

  NSURL *url = [NSURL URLWithString:@"http://www.myweb.com?Id=1&name=xyz"];
    __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setRequestMethod:@"GET"];
[request startAsynchronous];

答案 1 :(得分:-1)

NSString *profileURL = [NSString stringWithFormat:@"http://www.bs.com"];

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:profileURL]];
[request setRequestMethod:@"POST"]; // or GET
request.delegate = self;
[request setPostValue:[self getJSONPostData] forKey:@"json"];
[request startAsynchronous];

答案 2 :(得分:-1)

接受的答案不起作用。

以下是使用ASIHTTP将GET与查询结合使用时需要做的事情 在原始问题的背景下,这是工作代码。

- (void)_getDataFor:(NSURL *)url withHandler:(void(^)(ASIHTTPRequest *))handler
   {
       NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://a.com/?user=%@&pass=%@", @"user", @"pass"]];
      __weak ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
      [request setRequestMethod:@"GET"];
      [request setCompletedBlock:handler];
      [request startAsynchronous]; 
   }

您必须创建一个“处理程序”块来处理响应。 此代码是ARC投诉。

相关问题