http код состояния 400 в странах Ближнего Востока - PullRequest
3 голосов
/ 28 апреля 2011

У меня есть приложение для iPad, которое загружает plist с сервера в UIWebView, но когда я пытаюсь получить его в виде строки ответа от сервера, оно возвращает http-код состояния 400 со строкой ответа как Error Error (invalid_request).

Это происходит только в странах Ближнего Востока. Один пользователь из Объединенных Арабских Эмиратов подтвердил проблему, которой я отправил сборку adhoc для тестирования. Приложение возвращает код состояния 400, но plist нормально загружается в UIWebView.

Я пробовал использовать два разных сервера - сервер AWS и другой, размещенный в США. Для обоих серверов он дает одинаковый код состояния.

Кто-нибудь может дать предложения относительно того, почему это должно произойти?

Вот часть кода:

  .....
    ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease];
    [request addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"];
    [request addRequestHeader:@"Accept-Encoding" value:@"text/xml;charset=utf-8"];

    [request setRequestMethod:@"GET"];
    [request setDelegate:self];

    [request setDidFinishSelector: @selector(gotTheResponse:)];

    [request setDidFailSelector: @selector(requestFailed:)];
    [networkQueue addOperation: request];
    [networkQueue go];
....

1 Ответ

0 голосов
/ 29 апреля 2011

Я не уверен, является ли это проблемой или нет, но эта строка:

[request addRequestHeader:@"Accept-Encoding" value:@"text/xml;charset=utf-8"];

устанавливает недопустимое значение для заголовка Accept-Encoding, я считаю.Более обычными значениями будут «compress, gzip», и вам не нужно устанавливать их самостоятельно.Если вы хотите, чтобы текст / xml возвращался сервером, это должно войти в заголовок «Принять» - хотя он может вам вообще не понадобиться в зависимости от настроек сервера.

Также необычно использовать Content-TypeЗаголовок в запросе GET, есть ли причина, по которой вы добавляете это?

В конечном итоге возможна ситуация, если URL-адрес содержит необычные символы, которые могут привести к тому, что прокси-сервер вернет ошибку.

...