Я использую ASIHTTPRequest для связи с API, проблема в том, что он возвращает html вместо JSON, и я понятия не имею, почему.Все работало отлично в течение нескольких недель, и я не могу понять, что сломалось ..
Что странно, если делать точно такой же запрос с браузером, или postie возвращает правильный ответ JSON, но когда я делаюзапрос через ASIHTTPRequest это заголовки ответа, которые я получаю:
"Cache-Control" = "private, max-age=0, must-revalidate";
Connection = "keep-alive";
"Content-Encoding" = gzip;
"Content-Type" = "text/html; charset=utf-8";
Date = "Tue, 05 Jul 2011 21:11:10 GMT";
Etag = "\"e467792713ac4124f055c1719f4ea6c2\"";
Server = "nginx/0.7.65";
Status = "200 OK";
"Transfer-Encoding" = Identity;
"X-Runtime" = 1;
И HTML (который должен быть json) ..
<div id="universal_meta" logged_in_user_id="removed" style="display:none"></div>
<div id="meta" screen="projects" logged_in_as="removed"></div>
<h1>9 projects with 50 open issues</h1>
<ul class="biglinks progressbars">
etc...
Вот код, используемый для выполнения запроса..
NSURL *url = [NSURL URLWithString:path];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
if(secure){
[request setUsername:self.username];
[request setPassword:self.password];
}
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[request setDownloadDestinationPath:destination];
[[self queue] addOperation:request]; //queue is an NSOperationQueue
Я трижды проверил все данные для входа / URL, все правильно, я был бы очень признателен за любую помощь с этим, поскольку я полностью потерян.
-
Обновление:
Маяк обнаружил ошибку, касающуюся заголовков на их стороне.В ожидании решения от них.