2013-06-28 6 views
0

Я пытаюсь использовать веб-api для загрузки страницы. Ссылка на апи: http://api.arbetsformedlingen.se/Что еще нужно для запроса HTTP GET?

Если я использую такой код:

HttpClient c = new HttpClient(); 

c.BaseAddress = new Uri("http://api.arbetsformedlingen.se/"); 
var response = c.GetAsync("platsannons/soklista/kommuner?lanid=10").Result; 

Просьба, выглядит следующим образом:

{Method: GET, RequestUri: 'http://api.arbetsformedlingen.se/platsannons/soklista/kommuner?lanid=10', Version: 1.1, Content: <null>, Headers:{}} 

Не должно ли это быть достаточно, чтобы получить правильный ответ? То, что я получаю, является плохим запросом 400:

StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:{ Connection: close Proxy-Connection: keep-alive Date: Fri, 28 Jun 2013 10:02:34 GMT Server: Apache Content-Length: 117 Content-Type: application/json; charset=UTF-8} 

Нужно ли что-то иметь в Контенте?

+2

Вы прочитали контент? Существует 117 байтов неиспользуемой информации, ожидающих декодирования. Вероятно, в этом есть большая проблема. – spender

+0

Спасибо. Я проверил контент, но не понял, что эта информация была там. Чтение говорит, что часть Accept-Language ошибочна. Жаль, что я не могу принять это как ответ. – SamiHuutoniemi

+0

И теперь это работает! Благодаря! – SamiHuutoniemi

ответ

2

Должно ли этого недостаточно, чтобы получить достоверный ответ?

Это полностью зависит от сервера. Попробуйте сравнить свой запрос с «реальным» запросом, выданным из браузера, например, с помощью Fiddler, и определите различия. Сервер может блокировать автоматические запросы, возвращая 400.