Использование URL в C #

Этот код написан на Python:

import urllib3
http = urllib3.PoolManager()
url = "http://www.example.com/"
req = http.request('GET', url)
source = req.dat

Я хочу знать, как мне написать это на C #.


person Bardia Heydari    schedule 06.02.2014    source источник
comment
Что должен делать этот код?   -  person Max    schedule 06.02.2014
comment
назначьте источник html или xml URL example.com ценной строке. @MaxMommersteeg   -  person Bardia Heydari    schedule 06.02.2014
comment
возможный дубликат Самый простой способ чтения из URL в строку в .NET   -  person Damith    schedule 06.02.2014
comment
@BardiaHeydari Вы поняли?   -  person Max    schedule 06.02.2014


Ответы (3)


Если вы хотите просто загрузить с URL, вы можете попробовать использовать

  String url = @"http://www.example.com/";
  Byte[] dat = null;

  // In case you need credentials for Proxy
  if (Object.ReferenceEquals(null, WebRequest.DefaultWebProxy.Credentials))
    WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials;

  using (WebClient wc = new WebClient()) {
    // Seems that you need raw data, Byte[]; if you want String - wc.DownLoadString(url);
    dat = wc.DownloadData(url);
  }
person Dmitry Bychenko    schedule 06.02.2014

Используйте следующий код:

using (WebClient client = new WebClient ()) // Use using, for automatic dispose of client
{
    //Get HTMLcode from page
    string htmlCode = client.DownloadString("http://www.example.com");
}

Добавьте ссылку на System.Net в начале своего класса:

using System.Net;

Но ответ Оливера предлагает больше контроля :).

person Max    schedule 06.02.2014
comment
Мне это нравится! Подходит для загрузки в string. - person Oliver; 06.02.2014
comment
Что делать, если ему нужны имя пользователя и пароль? - person Bardia Heydari; 06.02.2014
comment
Затем используйте: if (Object.ReferenceEquals(null, WebRequest.DefaultWebProxy.Credentials)) WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials;, код @Dmitry Bychenko, учетные данные будут предоставлены по умолчанию. - person Max; 06.02.2014

Похоже, вы загружаете веб-ответ. Ниже приведен один из способов сделать это:

var request = (HttpWebRequest)WebRequest.Create("http://www.example.com/");

using (var stream = request.GetResponse().GetResponseStream())
{
   var reader = new StreamReader(stream, Encoding.UTF8);
   var responseString = reader.ReadToEnd();
}

Но ответ Макса проще :).

person Oliver    schedule 06.02.2014