【发布时间】:2015-04-26 12:37:36
【问题描述】:
我想用下面的 windows phone 应用程序代码在 youtube 搜索结果中获取元素和标签。
public partial class Page1 : PhoneApplicationPage
{
string keyword;
public Page1()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
NavigationContext.QueryString.TryGetValue("parameter", out keyword);
LoadResults();
}
public void LoadResults()
{
WebClient codeSampleReq = new WebClient();
codeSampleReq.DownloadStringCompleted += codeSampleReq_DownloadStringCompleted;
codeSampleReq.DownloadStringAsync(new Uri("https://www.youtube.com/results?search_query=" + keyword));
}
void codeSampleReq_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
try
{
HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.LoadHtml(e.Result);
HtmlNode divContainer = htmlDoc.GetElementbyId("a");
if (divContainer != null)
{
HtmlNodeCollection nodes = divContainer.SelectNodes("a");
foreach (HtmlNode trNode in nodes)
{
}
}
}
catch (Exception ex)
{
MessageBox.Show("Unable to download" + ex.Message);
}
}
}
并在下面得到异常:
{System.Net.WebException:远程服务器返回错误: 未找到。 ---> System.Net.WebException:远程服务器返回一个 错误:未找到。在 System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 在 System.Net.Browser.ClientHttpWebRequest.c__DisplayClasse.b__d(对象 发送状态)在 System.Net.Browser.AsyncHelper.c__DisplayClass1.b__0(对象 sendState) --- 内部异常堆栈跟踪结束 --- at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback 开始方法,对象状态)在 System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 在 System.Net.WebClient.GetWebResponse(WebRequest 请求,IAsyncResult 结果)在 System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult 结果)}
有人知道为什么找不到服务器返回 404 吗?
注意:关键字只能是“ali, veli, kadir”之类的字符串。
【问题讨论】:
标签: c# windows-phone-8 system.net.webexception