2

サードパーティのビットを使用せずに http GET が機能しています。iOS は初めてなので、最初はセットアップに苦労しました。私のコードは次のようになります:

-(NSString *) SendGetRequestToRest:(NSString *)urlEndString
{

NSString *userName = @"userN";
NSString *password = @"PassW";

NSString *urlBaseString = @"http://someurl.co.uk/";

NSString *urlString = [NSString stringWithFormat:@"%@%@", urlBaseString, urlEndString];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

[request setURL:[NSURL URLWithString:urlString]];

[request setHTTPMethod:@"GET"];

NSString *str1 = [NSString stringWithFormat:@"%@:%@", userName, password];
NSString *encodedString = [self stringByBase64EncodingWithString:str1];
[request addValue:[NSString stringWithFormat:@"Basic %@",encodedString] forHTTPHeaderField:@"Authorization"];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"str: %@", str);

return str;

}

私がする必要があるのは、http GET のステータス コードがナイス 200 でない場合を追跡することです。iOS で Web サーバーのステータスを確認する方法を見ましたか? これは有望に見えます。つまり、これを追加します。

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSHTTPURLResponse *)response
{
    if ([response statusCode] == 404)
    {
    /// do some stuff
    }
}

しかし、これを接続する方法がわかりません

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

デリゲートを受け入れないので?

4

1 に答える 1