同步方式
1,使用NSString
NSString* str = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://baidu.com"] encoding:NSUTF8StringEncoding error:nil];
2,使用NSData
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://baidu.com"]];
3,使用NSURLRequest &NSURLConnection
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://baidu.com"]];
NSHTTPURLResponse* response = nil;
NSData* responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
NSDictionary* headArr = [response allHeaderFields];
NSLog(@"%@",headArr);
headArr的输出如下:
{
"Accept-Ranges" = bytes;
"Cache-Control" = "max-age=86400";
Connection = "Keep-Alive";
"Content-Length" = 81;
"Content-Type" = "text/html";
Date = "Thu, 15 Mar 2012 08:11:50 GMT";
Etag = "\"51-4b4c7d90\"";
Expires = "Fri, 16 Mar 2012 08:11:50 GMT";
"Last-Modified" = "Tue, 12 Jan 2010 13:48:00 GMT";
Server = Apache;
}
[response statusCode] 可以得到http 返回值,比如200表示成功。
4.使用NSURLRequest &NSURLConnection 设置超时时间
//[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://kkkkkkk.com"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:3.0];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://kkkkkkk.com"]];
NSURLResponse* response = nil;
[request setTimeoutInterval:4.0];
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
异步方式:
1,使用NSURLRequest &NSURLConnection
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xxxx"]];
NSHTTPURLResponse* response = nil;
[request setHTTPMethod:@"POST"];
[request setHTTPBody:@"post Body Data"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data;"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSURLConnection* conn = [NSURLConnection connectionWithRequest:request delegate:self];
对应的需要实现对应的回调函数
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data ;
- (void)connectionDidFinishLoading:(NSURLConnection *)connection ;
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error ;