Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NSURLConnection failing



I am trying to use NSURLConnection to fetch a few small images (like
10k) from various websites.  The connections are established and then
the connection:willSendRequest:redirectResponse: delegate method is
called and it freezes.  It never times out that I know of, at least
the connection:didFailWithError: delegate is never called.  So now for
the crazy part... sometimes the code works fine and all of the images
are retrieved.  I have tested this with several different sites and it
seems to be fairly random.  I have tried different caching policies as
well with no change.  If it fails, it always seems to fail after the
redirect is received.  I am running this on Leopard with GC enabled.
Below is the code I am using, I removed all the log messages I was
using for debugging.  If anyone has any ideas they would be greatly
appreciated.


NSURLRequest *request=[NSURLRequest requestWithURL:[NSURL
URLWithString:imageURL]

cachePolicy:NSURLRequestReloadIgnoringLocalCacheData

timeoutInterval:30.0];

NSURLConnection *imageConnection = [[NSURLConnection alloc]
initWithRequest:request

                                     delegate:self];

if (!imageConnection) {
    NSLog(@"A problem was encountered while trying to download an
image from %@", imageURL);
}


----------------delegate methods-----------------

- (void)connection:(NSURLConnection *)connection
didReceiveResponse:(NSURLResponse *)response
{
    [receivedData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [receivedData appendData:data];
}

- (NSURLRequest *)connection:(NSURLConnection *)connection
                     willSendRequest:(NSURLRequest *)request
                    redirectResponse:(NSURLResponse *)redirectResponse
{
    return request;
}

- (void)connection:(NSURLConnection *)connection
didFailWithError:(NSError *)error
{
    NSLog(@"Error: %@", [error localizedDescription]);
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    image = [[NSImage alloc] initWithData:receivedData];
    if (!image || ![image isValid]) {
        image = [NSImage imageNamed:@"missingImage.tiff"];
    }
}



-Doug
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.