0

我想使用 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,因为服务器不支持它。

4

3 回答 3

1
  NSURL *url = [NSURL URLWithString:@"http://www.myweb.com?Id=1&name=xyz"];
    __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setRequestMethod:@"GET"];
[request startAsynchronous];
于 2013-12-10T22:56:12.897 回答
-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];
于 2012-06-29T14:07:39.383 回答
-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 投诉。

于 2013-08-22T21:25:35.030 回答