2016-07-06 5 views
0

Я пытаюсь получить больше опыта работы с C#, поэтому я хочу сделать небольшое приложение, используя формы Windows в Visual Studio. Приложение должно получить время запуска ракеты от https://launchlibrary.net и использовать их в обратном отсчете. У меня нет опыта получения данных из Интернета с помощью C#, поэтому я понятия не имею, что то, что я делаю, даже немного правое. Но это код, который я придумал после некоторых исследований.C# Webrequest Webresponse получение 403: запрещено

Проблема заключается в том, что на линии: WebResponse response = request.GetResponse();

Я получаю ниже error-

"Удаленный сервер возвратил ошибку (403) запрещен"

Если кто-то может помочь мне или указать мне в правильном направлении, я был бы очень доволен.

Спасибо

  // Create a request for the URL. 
      WebRequest request = WebRequest.Create("https://launchlibrary.net/1.2/agency/5"); 
      request.Method = "GET"; 
      // Get the response. 
      WebResponse response = request.GetResponse(); 
      // Display the status. 
      MessageBox.Show(((HttpWebResponse)response).StatusDescription); 
      // Get the stream containing content returned by the server. 
      Stream dataStream = response.GetResponseStream(); 
      // Open the stream using a StreamReader for easy access. 
      StreamReader reader = new StreamReader(dataStream); 
      // Read the content. 
      string responseFromTheServer = reader.ReadToEnd(); 
      // Display the content 
      MessageBox.Show(responseFromTheServer); 
      // Clean up the streams and the response. 
      reader.Close(); 
      response.Close(); 

ответ

1

Это образец с помощью WebClient, вы должны установить заголовок агента пользователя, в противном случае 403:

using (var webClient = new WebClient()) 
{ 
    webClient.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"); 
    var response = webClient.DownloadString("https://launchlibrary.net/1.2/agency/5"); 
    MessageBox.Show(response); 
} 
+0

Спасибо. Теперь он работает – Nickcap

+0

Если вы разрешите пользователю-агенту пустую, тогда вы получите 403. Вот почему я всегда использую user-agent от chrome или firefox или IE. –

Смежные вопросы