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;
}