【问题标题】:c# App skip after reading JSON responsec# App在读取JSON响应后跳过
【发布时间】:2015-08-06 05:21:13
【问题描述】:

我一直在尝试使用返回 json 的在线 API。 我目前正在使用 winform 应用程序。

到目前为止我尝试过

WebClient cHttp = new WebClient();
string htmlCode = cHttp.DownloadString(path);  <--------

///-----------And then this

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(path);
request.Method = WebRequestMethods.Http.Get;
request.Accept = "application/json";
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); <-----

我将箭头指向的地方,程序不会崩溃,它只是点击该行,然后跳过它下面的所有代码。然后我的表单打开而不运行我的整个代码。我做错了什么?

谢谢

【问题讨论】:

    标签: c# json httprequest httpresponse


    【解决方案1】:

    使用 try-catch 块,你会看到一个错误:

    try
    {
        WebClient cHttp = new WebClient();
        string htmlCode = cHttp.DownloadString(path); 
    }
    catch(Exception e)
    {
        Debug.WriteLine(e);
    }
    

    【讨论】:

    • 我不明白...当我将它输入浏览器时,路径有效。所以这是 Visual Studio 中的错误 System.dll System.Net.WebException 中出现“System.Net.WebException”类型的第一次机会异常:远程服务器返回错误:(401)未经授权。在 System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) at System.Net.WebClient.DownloadString(Uri address) at System.Net.WebClient.DownloadString(String address)
    • @Photonic 这是你的问题。您无权访问,您必须通过类似 msdn.microsoft.com/en-us/library/e2w99hxh(v=vs.110).aspx(可能取决于)或类似 stackoverflow.com/questions/1680718/… 的凭据
    • 谢谢,我想我得到了通过错误(401),但你知道如何解决下一个错误吗? System.dll System.Net.WebException 中出现“System.Net.WebException”类型的第一次机会异常:尝试了太多自动重定向。在 System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) at System.Net.WebClient.DownloadData(Uri address) at System.Net.WebClient.DownloadData(String address)
    • 如果我使用 webBrowser 类导航到该路径,它会给我一个选项框来将其保存为 json 文件来驱动,这是我不想要的,那么如何将它保存到一个字符串中?
    • @Photonic 问题是您的路径变量不是最终路径。你应该找到结尾:)
    【解决方案2】:

    它跳出了你的方法。您必须捕获异常并返回空对象。或找出错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多