Reading From The Net



Example:

// #import <MessageUI/MessageUI.h>
// #import <SystemConfiguration/SystemConfiguration.h>
// #include <netdb.h>
// You must also add the SystemConfiguration.framework

- (BOOL) connectedToNetwork
{
   // Create zero addy
   struct sockaddr_in zeroAddress;
   bzero(&zeroAddress, sizeof(zeroAddress));
   zeroAddress.sin_len = sizeof(zeroAddress);
   zeroAddress.sin_family = AF_INET;

   // Recover reachability flags
   SCNetworkReachabilityRef defaultRouteReachability =
       SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
   SCNetworkReachabilityFlags flags;

   BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
   CFRelease(defaultRouteReachability);

   if (!didRetrieveFlags)
   {
     //printf("Error. Could not recover network reachability flags\n");
     return NO;
   }

   BOOL isReachable = ((flags & kSCNetworkFlagsReachable) != 0);
   BOOL needsConnection = ((flags & kSCNetworkFlagsConnectionRequired) != 0);
   return (isReachable && !needsConnection) ? YES : NO;
}



-(NSString *) stringWithoutSpecialCharactersExceptNewLines:(NSString*) inString
{
   NSString *newString = @"";
   for (int i=0; i<[inString length]; i++)
   {
     if ([inString characterAtIndex:i] >31 && [inString characterAtIndex:i] < 127)
         newString = [newString stringByAppendingFormat:@"%c",[inString characterAtIndex:i]];
     else if ([inString characterAtIndex:i] == 10)
         newString = [newString stringByAppendingFormat:@"\n"];
   }
   return newString;
}



// reads a string from the internet
-(NSString *) readTextFileFromNet:(NSString *) wwwAddress fromFile:(NSString *) filename
{
   if ([self connectedToNetwork]==NO)
     return nil;

   //NSLog(@"inside method fillArraysFromNet connected to network");
   NSString *lines = nil;
   NSError *error = nil;
   NSString *urlAddress;

   urlAddress = [NSString stringWithFormat:@"%@%@",wwwAddress,filename];

   NSURL *url = [NSURL URLWithString:urlAddress];
   lines = [[NSString stringWithContentsOfURL:url
       encoding:NSASCIIStringEncoding
       error:&error] retain]; //componentsSeparatedByString:@"\n"];
   if (lines != nil)
   {
     lines = [self stringWithoutSpecialCharactersExceptNewLines:lines];
   }
   return lines;
}