【问题标题】:WebException: The remote server returned an error: NotFound Windows Phone Youtube HtmlWebException:远程服务器返回错误:NotFound Windows Phone Youtube Html
【发布时间】: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


    【解决方案1】:

    NotFound是WebClient的响应多种错误。最常见的两种情况是

    • 错误的服务器证书(不应该是你的情况,Youtube 有一个有效的证书)
    • 您的模拟器或设备中没有互联网连接。

    我几乎可以肯定你的情况是第二个,检查你的互联网连接。

    【讨论】:

    • 已选中,它可以从 ie 内部连接 ​​youtube。它在“Windows 窗体应用程序”上运行,现在也没有运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多