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 に答える