ASIHTTPRequest Невозможно создать запрос (неверный URL?) Ошибка - PullRequest
3 голосов
/ 18 сентября 2010

Я продолжаю получать: Невозможно создать запрос (неверный URL?) Сообщение об ошибке на запрос типа:


- (void)grabURLInBackground :(id)sender 
{
    NSURL *url= [NSURL URLWithString:@"http://api.website.com/api_requests/standard_request/getItemRequest={\"Id\":\"Logic\"}"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request addRequestHeader:@"X-WEBSITE-API-DEV-NAME" value:@"cghjm"];
        [request setDelegate:self];
    [request startAsynchronous];
}


- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
   NSString *responseString = [request responseString];
   NSLog(responseString);
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
   NSError *error = [request error];
    NSLog(@"%@:%s Error: %@", [self class], _cmd, [error localizedDescription]);
}

Я "ОЧЕНЬ" новичок в Objective-C ...

Спасибо

-Brad

1 Ответ

4 голосов
/ 19 сентября 2010

Измените -startAsynchronous на -startSynchronous и удалите строку, в которой вы установите для delegate запроса значение self. Асинхронный означает, что он работает в фоновом режиме, и в этом случае вам нужно использовать методы делегата. Поскольку вы поместили все в один метод, вы хотите использовать синхронный запрос.

Редактировать

Инициализировать URL следующим образом:

[NSURL URLwithString: [@"http://..." stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]]
...