Iphone ASIHTTP要求失败

Iphone ASIHTTP要求失败,iphone,cocoa,asihttprequest,Iphone,Cocoa,Asihttprequest,我正在尝试使用ASIHTTPRequest下载一个文件队列。每个请求都会永久失败。我知道URL是有效的,我已经找到它们并将它们弹出到浏览器中,文件就在那里。关于如何调试这个,我没有太多的想法 -(void) getRemoteFiles:(NSMutableArray *) M { [self createFileToAppDirectory]; if (!networkqueue) { networkqueue:[[[ASINetworkQueue alloc

我正在尝试使用ASIHTTPRequest下载一个文件队列。每个请求都会永久失败。我知道URL是有效的,我已经找到它们并将它们弹出到浏览器中,文件就在那里。关于如何调试这个,我没有太多的想法

-(void) getRemoteFiles:(NSMutableArray *) M
{
    [self createFileToAppDirectory];

    if (!networkqueue) {
        networkqueue:[[[ASINetworkQueue alloc] init] autorelease];
    }

    [[self networkQueue] cancelAllOperations];

    [self setNetworkQueue:[ASINetworkQueue queue]];
    [[self networkQueue] setDelegate:self];
    [[self networkQueue] setRequestDidFinishSelector:@selector(requestFinished:)];
    [[self networkQueue] setRequestDidFailSelector:@selector(requestFailed:)];
    [[self networkQueue] setQueueDidFinishSelector:@selector(queueFinished:)];


    int i;

    for (i=0; i<[M count]; i++) {
        NSString *url=[M objectAtIndex:i];
        NSString* theFileName = [url lastPathComponent];
        if ([theFileName isEqualToString:@"nothing"]==NO) {

            ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
            //[request setDownloadDestinationPath:[self getDirectoryPathForFileName:theFileName]];
            [[self networkQueue] addOperation:request];

        }

    }

    [[self networkQueue] go];


}
-(void)getRemoteFiles:(NSMutableArray*)M
{
[自创建文件到应用目录];
if(!networkqueue){
网络队列:[[ASINetworkQueue alloc]init]autorelease];
}
[[self-networkQueue]cancelAllOperations];
[self-setNetworkQueue:[ASINetworkQueue]];
[[self-networkQueue]setDelegate:self];
[[self-networkQueue]setRequestDidFinishSelector:@selector(requestFinished:)];
[[self-networkQueue]setRequestDidFailSelector:@selector(requestFailed:)];
[[self-networkQueue]setQueueDidFinishSelector:@selector(queueFinished:)];
int i;

对于(i=0;i结果表明,NSURL不会为您安全地编码url字符串。在我的例子中,url中导致问题的空格。解决方法如下


NSString*safestring=[Unsafesting StringByAddingPercents EscapeSusingEncoding:NSUTF8StringEncoding]

您是否在requestFailed方法中看到错误?是的。正在调用requestFailed方法。您看到了什么错误消息?以下行将给出错误消息:NSError*error=[request error];谢谢。错误代码为5,“ASIHttpRequestErrorDomain”。此外,失败处理程序中请求对象的所有变量都为零…这似乎很奇怪。