iOS生ネットワーク要求(AFNetWorkingライブラリの推奨)
9147 ワード
1、 GET
// , URL
NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
// , URL
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
//NSURLRequest : , : , : ( )
:
NSURLRequestUseProtocolCachePolicy( )
NSURLRequestReloadIgnoringLocalCacheData( )
NSURLRequestReturnCacheDataElseLoad( , , )
NSURLRequestReturnCacheDataDontLoad( , , , , )
NSURLRequestReloadIgnoringLocalAndRemoteCacheData( , , )
NSURLRequestReloadRevalidatingCacheData( , )
// ,
NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *str = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
NSLog(@"%@",str);
2、 POST
// , URL
NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];
// ,
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
[request setHTTPMethod:@"POST"];// POST, GET
NSString *str = @"type=focus-c";//
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];
// ,
NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
NSLog(@"%@",str1);
3、 GET
// , url
NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"];
// ,
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
// ,
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
4、 POST
// , url
NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"];
// ,
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
[request setHTTPMethod:@"POST"];
NSString *str = @"type=focus-c";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];
// ,
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
5、
//
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
NSLog(@"%@",[res allHeaderFields]);
self.receiveData = [NSMutableData data];
}
// ,
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[self.receiveData appendData:data];
}
//
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *receiveStr = [[NSString alloc]initWithData:self.receiveData encoding:NSUTF8StringEncoding];
NSLog(@"%@",receiveStr);
}
// , ( , )
-(void)connection:(NSURLConnection *)connection
didFailWithError:(NSError *)error
{
NSLog(@"%@",[error localizedDescription]);
}
転載先:https://www.cnblogs.com/ficow/p/5034993.html