[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
ΠΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ:
We are hereβ¦
Firing synchronous url connectionβ¦
We are done.
2 52450 bytes of data was returned.
ΠΡΠ°ΠΊ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²Π΅Π» ΡΠ΅ΠΊΡΡ We are done Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ, ΠΏΠΎΠΊΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ URL. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΏΡΠ°Π²Π΄Π°? Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΡΠΌΠ΅Π»ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ URL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π³Π»Π°Π²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ.
11.4. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ URL-Π·Π°ΠΏΡΠΎΡΠ° Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ NSMutableURLRequest
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ URL-Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π΅Π³ΠΎ URL-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅. ΠΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ NSMutableURLRequest Π²ΠΌΠ΅ΡΡΠΎ NSURLRequest.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
URL-Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ. URL-Π·Π°ΠΏΡΠΎΡΡ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π° ΡΠ΅, ΡΡΠΎ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ, β Π½Π΅Ρ. ΠΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ URL-Π·Π°ΠΏΡΠΎΡΠ°ΠΌ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° NSMutableURLRequest.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ URL-Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°:
NSString *urlAsString = @"http://www.apple.com";
NSURL *url = [NSURL URLWithString: urlAsString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];
[urlRequest setTimeoutInterval:30.0f];
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π³Π΄Π΅ URL ΠΈ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ URL-Π·Π°ΠΏΡΠΎΡΠ΅ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
NSString *urlAsString = @"http://www.apple.com";
NSURL *url = [NSURL URLWithString: urlAsString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest new];
[urlRequest setTimeoutInterval:30.0f];
[urlRequest setURL: url];
Π Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠΎΠ½ΠΊΠΈΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ URL-Π·Π°ΠΏΡΠΎΡΠΎΠ².
11.5. ΠΡΠΏΡΠ°Π²ΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² HTTP GET Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ NSURLConnection
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ GET ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTP ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ GET-Π·Π°ΠΏΡΠΎΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΡΡΠΎΠΊΠ°Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΠ±ΡΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅:
http://example.com/?param1=value1¶m2=value2β¦
Π‘ΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
GET-Π·Π°ΠΏΡΠΎΡ β ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΡΠΎΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ URL.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ² GET, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠΈΠΉ ΡΠ°ΠΊΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΠΎΡΠΎΡΠ»Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΡΠ²Π΅Ρ. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΡΠΎΡ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ»Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ GET ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΠΈΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π² GET-Π·Π°ΠΏΡΠΎΡΠ΅ ΠΊ ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NSURLConnection Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ URL-Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΈ ΡΠ²Π½ΠΎ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°Ρ HTTP-ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ GET Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° setHTTPMethod:, ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ NSMutableURLRequest. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΡΠΎΡΠΌΠ»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ URL, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β (BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSString *urlAsString = <# ΠΠ΄Π΅ΡΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ URL Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° #>;
urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];
urlAsString = [urlAsString stringByAppendingString:@"¶m2=Second"];
NSURL *url = [NSURL URLWithString: urlAsString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest
requestWithURL: url];
[urlRequest setTimeoutInterval:30.0f];
[urlRequest setHTTPMethod:@"GET"];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection
sendAsynchronousRequest: urlRequest
queue: queue
completionHandler: ^(NSURLResponse *response,
NSData *data,
NSError *error) {
if ([data length] >0 &&
error == nil){
NSString *html = [[NSString alloc] initWithData: data
encoding: NSUTF8StringEncoding];
NSLog(@"HTML = %@", html);
}
else if ([data length] == 0 &&
error == nil){
NSLog(@"Nothing was downloaded.");
}
else if (error!= nil){
NSLog(@"Error happened = %@", error);
}
}];
self.window = [[UIWindow alloc] initWithFrame:
[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ urlAsString Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΡ Xcode, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ». ΠΡΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Xcode, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 11.1. ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΊΠΎΠ΄Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π½ΡΠΉ URL.
Π ΠΈΡ. 11.1. ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π² Xcode
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΡΠ°Π²ΠΈΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ, Π° ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ΅ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ β Π°ΠΌΠΏΠ΅ΡΡΠ°Π½Π΄ (&). ΠΠΎΡ ΠΈ Π²ΡΠ΅! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ HTTP GET ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°.
11.6. ΠΡΠΏΡΠ°Π²ΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² HTTP POST Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ NSURLConnection
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ HTTP POST Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ (Π² ΡΠ΅Π»Π΅ HTTP ΠΈΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Π΅.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ GET, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ POST Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ NSURLConnection. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°ΡΠ΅Π³ΠΎ URL ΠΊΠ°ΠΊ POST.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΡΠ»Π°ΡΡ ΡΡΠ΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅Π»Π΅ HTTP-Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎ URL:
β (BOOL) application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSString *urlAsString = <# ΠΠ΄Π΅ΡΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ URL Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° #>;
urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];
urlAsString = [urlAsString stringByAppendingString:@"¶m2=Second"];
NSURL *url = [NSURL URLWithString: urlAsString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: url];
[urlRequest setTimeoutInterval:30.0f];
[urlRequest setHTTPMethod:@"POST"];
NSString *body = @"bodyParam1=BodyValue1&bodyParam2=BodyValue2";
[urlRequest setHTTPBody: [body dataUsingEncoding: NSUTF8StringEncoding]];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection
sendAsynchronousRequest: urlRequest
queue: queue
completionHandler: ^(NSURLResponse *response,
NSData *data,
NSError *error) {
if ([data length] >0 &&
error == nil){
NSString *html = [[NSString alloc] initWithData: data
encoding: NSUTF8StringEncoding];
NSLog(@"HTML = %@", html);
}
else if ([data length] == 0 &&
error == nil){
NSLog(@"Nothing was downloaded.");
}
else if (error!= nil){
NSLog(@"Error happened = %@", error);
}
}];
self.window = [[UIWindow alloc] initWithFrame:
[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΠΌΡΠΉ Π² ΡΠ΅Π»Π΅ HTTP, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ, Π° ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΠΌΡΠΉ Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° β ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
11.7. ΠΡΠΏΡΠ°Π²ΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² HTTP DELETE Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ NSURLConnection
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ·Π²Π°ΡΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ HTTP DELETE, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΡΡΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ URL, ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π΅Π±-ΡΠ»ΡΠΆΠ±Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ΅Π»Π΅ HTTP ΠΈΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ GET ΠΈ POST, ΠΌΠ΅ΡΠΎΠ΄ DELETE ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NSURLConnection. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ URL ΠΊΠ°ΠΊ DELETE.
ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°, Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ β Π² ΡΠ΅Π»Π΅ HTTP. ΠΡΠΏΡΠ°Π²ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ URL Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° DELETE HTTP:
β (BOOL) application:(UIApplication *)application