【问题标题】:How to ensure that webclient process error like they process 200如何确保 webclient 处理错误就像他们处理 200
【发布时间】:2012-05-14 10:28:57
【问题描述】:

我在那里问了一个类似的问题,但针对 curl 和 webclient。

我找到了 curl 的答案:

How to ensure that webclient/curl process 503 error like they process 200

CURLOPT_FAILONERROR

我想要类似的东西,但对于 webclient 而不是 curl

【问题讨论】:

    标签: .net webclient


    【解决方案1】:

    每个问题的提问方式可能意味着该问题与该问题中所链接的问题重复。无论如何,我在这里提供与那里相同的答案:

    对于WebClient,您需要处理WebException.Response。例如。此 LINQPad 查询转储了我的 Web 服务器的“未找到”错误网页提供的 HTML:

    Dim wc = New System.Net.WebClient
    Try 
      Dim rd = wc.DownloadData(New Uri("http://localhost/test"))
      rd.Dump
    Catch Ex As System.Net.WebException
     Dim rs = Ex.Response
     Call (New StreamReader(rs.GetResponseStream)).ReadToEnd.Dump
    End Try
    

    【讨论】:

    • 出现问题时会执行 rd.Dump 吗?还是会直接例外?
    • 在哪里可以看到这个转储文件的文档?我没有看到它转储
    • 为此,Dump 只是 LINQPad 的 Console.WriteLine 等价物,但格式更多。
    • (回答你的第一条评论)不,异常是在DownloadData内抛出的,所以流需要在Catch内处理。
    • 我们可以在没有 linqpad 的情况下做到这一点吗?我懂了。你只是把东西转储到控制台。没关系。是的,我应该把它放在一个变量上。
    猜你喜欢
    • 2021-08-06
    • 2020-06-03
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2021-09-25
    • 2019-08-02
    相关资源
    最近更新 更多