我正在尝试使用此代码从网页获取内容:
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);
但是我收到了这个错误:
提供了无效的请求URI。请求URI必须是绝对URI或必须设置BaseAddress。
答案 0 :(得分:13)
您只需要指定完整的URL(包括协议),如下所示:
var response = await http.GetByteArrayAsync("http://www.nsfund.ir/news?p_....
答案 1 :(得分:5)
绝对URI遵循<button class="button" ng-click="proceedToPayemnt()">Make Payment</button>
约定。由于您未指定协议,特别是protocol://server/path?query#hash
或http://
,因此该URL不是绝对的,因此无法解析。