我的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];
因为它不接受代表?
您可以使用returningResponse
参数来获得“响应”:
NSHTTPURLResponse *response = nil;
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
if ([response statusCode] == 404)
{
// Do whatever you want to do after getting response
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句