업데이트를 아이폰 OS 9 : 그래서, [NSURLConnection sendSynchronousRequest]
는 아이폰 OS 9에서 시작되지 않습니다 여기에 아이폰 OS 9
부터
NSURLSession
을 사용하여 GET 요청을하는 방법
GET 요청
// making a GET request to /init
NSString *targetUrl = [NSString stringWithFormat:@"%@/init", baseUrl];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setHTTPMethod:@"GET"];
[request setURL:[NSURL URLWithString:targetUrl]];
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:
^(NSData * _Nullable data,
NSURLResponse * _Nullable response,
NSError * _Nullable error) {
NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Data received: %@", myString);
}] resume];
POST 요청
// making a POST request to /init
NSString *targetUrl = [NSString stringWithFormat:@"%@/init", baseUrl];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
//Make an NSDictionary that would be converted to an NSData object sent over as JSON with the request body
NSDictionary *tmp = [[NSDictionary alloc] initWithObjectsAndKeys:
@"basic_attribution", @"scenario_type",
nil];
NSError *error;
NSData *postData = [NSJSONSerialization dataWithJSONObject:tmp options:0 error:&error];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
[request setURL:[NSURL URLWithString:targetUrl]];
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:
^(NSData * _Nullable data,
NSURLResponse * _Nullable response,
NSError * _Nullable error) {
NSString *responseStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Data received: %@", responseStr);
}] resume];
빠른 응답을 보내 주셔서 감사합니다. 이 데이터를 정확히 전달하는 방법에 대해 다소 혼란 스럽습니다. 단순히 http 서비스에 연결하는 기능처럼 보이십니까? –
POST 샘플은'[setHTTPBody : body]'요청을 통해 데이터를 전달하고 HTTP 본문에 도착합니다. GET 예제는 URL에 데이터를 전달하므로 사전에 URL 형식을 지정해야합니다. 아마도 [[NSString stringWithFormat : @ "http://example.com?param1=%@¶m2=%@ ", param1, param2]'. –
따라서 페이지 소스와 동일한 NSLOG에 " 등록 된 "이 반환됩니다. 실제 페이지가 등록되어 출력됩니다. 나는 다른 모든 것을 파싱 할 수 있다는 의미에서 사소한 차이가 있다고 가정하지만이 코드는 올바른 결과가 아닌 페이지 데이터를 반환하고 있습니까? –