web-dev-qa-db-fra.com

Un URI de demande non valide a été fourni. L'URI de demande doit être un URI absolu ou BaseAddress doit être défini

J'essaie d'obtenir le contenu d'une page Web en utilisant ce code:

HttpClient http = new HttpClient();
  var response = await http.GetByteArrayAsync("www.nsfund.ir/news?p_p_id=56_INSTANCE_tVzMoLp4zfGh&_56_INSTANCE_tVzMoLp4zfGh_mode=news&_56_INSTANCE_tVzMoLp4zfGh_newsId=3135919&p_p_state=maximized");
   String source = Encoding.GetEncoding("utf-8").GetString(response, 0, response.Length - 1);
   source = WebUtility.HtmlDecode(source);
   HtmlDocument resultat = new HtmlDocument();
   resultat.LoadHtml(source);

Mais je reçois cette erreur:

Un URI de demande non valide a été fourni. L'URI de la demande doit être un URI absolu ou BaseAddress doit être défini.

12
Ehsan Akbar

Vous devez simplement spécifier l'URL complète (y compris le protocole) comme ceci:

var response = await http.GetByteArrayAsync("http://www.nsfund.ir/news?p_....
14
Yacoub Massad

Un URI absolu suit le protocol://server/path?query#hash convention. Comme vous n'avez pas spécifié de protocole, en particulier http:// ou https:// dans votre cas, l'URL n'est pas absolue et ne peut donc pas être résolue.

6
Niels Keurentjes