返回首页

下载gb2312数据获得电话区号的代码

时间:2010-01-29 14:10来源:未知 点击:
从一个gb2312 url 下载gb2312数据(获得电话区号 例子)
  作者  zzcghost

原帖地址  http://www.cocoachina.com/bbs/read.php?tid-13618.html 

从一个gb2312 url 下载gb2312数据(获得电话区号 例子)
   1.
   2.
   3. [seif getCityZipCode:北京]
   4.
   5. -(NSString*) getCityZipCode:(NSString*) city
   6. {
   7.     NSData *tdata = nil;
   8.     NSURLResponse *response;
   9.     NSError *error;
  10.     NSString* strUrl;
  11.
  12.     strUrl = [[NSString alloc] initWithFormat:
  13.                         @"http://www.ip138.com/post/search.asp?area=%@&action=area2zone",city];
  14.    
  15.     NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
  16.     NSString *strUrld8 = [strUrl stringByAddingPercentEscapesUsingEncoding:enc];
  17.     NSURL * url = [[NSURL alloc] initWithString:strUrld8];
  18.    
  19.    
  20. #if 0
  21.     NSString *xml = [NSString stringWithContentsOfURL:url encoding:enc error:&error];
  22.     if(xml == nil)
  23.     {
  24.         NSLog(@"Error reading url at %@", [error localizedFailureReason]);
  25.     }
  26. #endif
  27.
  28.     NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:url
  29.                                                      cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
  30.                                                  timeoutInterval:60];
  31.     if(urlRequest == nil)
  32.     {
  33.         NSLog(@"Can not get %@",city);
  34.         return @"";
  35.     }
  36.    
  37.     // Make synchronous request
  38.     tdata =  [NSURLConnection sendSynchronousRequest:urlRequest
  39.                                    returningResponse:&response
  40.                                                error:&error];
  41.     [urlRequest release];
  42.     urlRequest = nil;
  43.     if (tdata == nil)
  44.     {
  45.         NSLog(@"Can not get %@",city);
  46.         return @"";
  47.     }
  48.     else
  49.     {
  50.         NSString * tmp, *tmp1,*tmp2;
  51.         NSStringEncoding encT = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
  52.         NSString *string = [[NSString alloc] initWithData:tdata encoding: encT];
  53.         const char *pcchar = [string cStringUsingEncoding:NSUnicodeStringEncoding];
  54.         tmp = [NSString stringWithCharacters:(unichar*)pcchar length: [string lengthOfBytesUsingEncoding:NSUnicodeStringEncoding]];
  55.         [string release];
  56.        
  57.         NSArray * arr = nil;
  58.         arr = [tmp componentsSeparatedByString:@"区号:"];
  59.         if(arr)
  60.         {
  61.             if([arr count]>=2)
  62.             {
  63.                 tmp1 = [arr objectAtIndex:1];
  64.                 //NSLog(@"tmp1= %@", tmp1);
  65.                 NSArray * arrss = [tmp1 componentsSeparatedByString:@"</td></tr><tr><td align="];
  66.                 if(arrss == nil)
  67.                 {
  68.                     arrss = [tmp1 componentsSeparatedByString:@"</td></tr><tr><td"];
  69.                 }
  70.                 if(arrss)
  71.                 {
  72.                     if([arrss count]>=2)
  73.                     {
  74.                         tmp2 = [arrss objectAtIndex:0];
  75.                         NSLog(@"tmp2= %@", tmp2);
  76.                         return tmp2;
  77.                     }
  78.                 }
  79.             }
  80.         }
  81.     }
  82.     return @"";
  83. }
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容