首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WebException如何获取整体响应?

在处理WebException时,如果需要获取整体响应,可以使用以下方法:

  1. 使用HttpWebResponse对象获取响应信息:
代码语言:csharp
复制
try
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.example.com");
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    // 处理响应信息
}
catch (WebException ex)
{
    if (ex.Response != null)
    {
        HttpWebResponse errorResponse = (HttpWebResponse)ex.Response;
        // 获取整体响应信息
        Console.WriteLine("Error code: {0}", errorResponse.StatusCode);
        Console.WriteLine("Error message: {0}", errorResponse.StatusDescription);
        using (Stream data = errorResponse.GetResponseStream())
        using (StreamReader reader = new StreamReader(data))
        {
            string responseFromServer = reader.ReadToEnd();
            Console.WriteLine("Error response: {0}", responseFromServer);
        }
    }
    else
    {
        Console.WriteLine("No response received from server.");
    }
}
  1. 使用HttpClient对象获取响应信息:
代码语言:csharp
复制
using (HttpClient client = new HttpClient())
{
    try
    {
        HttpResponseMessage response = client.GetAsync("http://www.example.com").Result;
        response.EnsureSuccessStatusCode();
        // 处理响应信息
    }
    catch (HttpRequestException ex)
    {
        if (ex.InnerException is WebException webEx)
        {
            if (webEx.Response != null)
            {
                HttpWebResponse errorResponse = (HttpWebResponse)webEx.Response;
                // 获取整体响应信息
                Console.WriteLine("Error code: {0}", errorResponse.StatusCode);
                Console.WriteLine("Error message: {0}", errorResponse.StatusDescription);
                using (Stream data = errorResponse.GetResponseStream())
                using (StreamReader reader = new StreamReader(data))
                {
                    string responseFromServer = reader.ReadToEnd();
                    Console.WriteLine("Error response: {0}", responseFromServer);
                }
            }
            else
            {
                Console.WriteLine("No response received from server.");
            }
        }
        else
        {
            Console.WriteLine("An error occurred while sending the request.");
        }
    }
}

以上代码示例展示了如何使用HttpWebResponse和HttpClient对象获取WebException中的整体响应信息。在处理异常时,可以通过WebException的Response属性来获取HttpWebResponse对象,从而获取响应信息。在使用HttpClient时,可以通过捕获HttpRequestException异常并检查其InnerException是否为WebException来获取响应信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

获取响应头与发送头

回复@TiAmo玲 1、获取请求头 想要获取请求头,就需要会用抓包工具,目前比较普遍的就是fiddler。大家可以在百度搜索下载。...现在我们以博客园登录为例,先看响应头,再看请求头: 进入博客园,点击右上角的登录按钮(注意,此时你已经打开fiddler)进行登录操作,现在博客园要拼接一个图片才能登陆,那我们在拼图片以前清空一下fiddler...里看这个接口,右侧分别选择Inspectors和下面一行的Raw: 选完以后,我们看到的像User-Agent,Accept、Accept-Encoding、Cookie等,这些就是我们要找的请求头啦~~ 2、响应头...虽然没有登录成功,但是我们可以根据接口的返回获得响应头,没错,我们这个代码最后的r.headers获取的就是响应头,看一下: {'Set-Cookie': 'SERVERID=227b0876674;Path...Nov 2017 13:03:53 GMT', 'Content-Type': 'application/json; charset=utf-8'} 提示:上面代码可以向右拉 r.headers,就是获取响应头的方法了

2K60

获取鼠标坐标以及按键响应

当鼠标在窗口之外如何获取屏幕位置 4.源码下载地址 1.原理 重写GUI类中的鼠标事件的响应函数,并实现其响应函数。 要包含头文件#include 1.1效果 ?...设置Mouse Tracking 如果想触发mouseMoveEvent()这个鼠标移动的响应函数,则必须要设置窗体(或控件)是可以Mouse Tracking的,不然程序不会进入mouseMoveEvent...当鼠标在窗口之外如何获取屏幕位置 当鼠标移动出窗体,鼠标就无法进入mouseMoveEvent()函数,此时就需要通过其他方式获取鼠标在屏幕上的位置信息。...这里用到了这个QCursor类,这个类中有一个获取鼠标当前屏幕位置(绝对位置)的一个静态方法。...static QPoint QCursor::pos(const QScreen * screen) 我在这里的处理方式是,通过按键盘的Ctrl键,获取当前的鼠标的绝对位置,需要实现键盘的按键响应函数,

4.3K31

如何用Python获取接口响应时间?elapsed方法来帮你!

2.同时更新多条数据,怎么写sql 3.测试计划和测试方案是什么区别 4.如何用Python获取接口响应时间 1)获取响应时间(举个栗子) 2)timeout超时 5.如何搭建测试环境 1.查询A表中100...图片来自网络 4.如何用Python获取接口响应时间? requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,显然是不合理的。...,这个时长不受响应内容的影响。...) 最大时间 min = datetime.timedelta(-999999999) 最小时间 resolution = datetime.timedelta(0, 0, 1) 最小时间单位 所以,获取响应时间是...:r.elapsed.total_seconds() 单位秒 1)获取响应时间(举个栗子): import requests r = requests.get("http://www.baidu.com

1.5K40

C#开发BIMFACE系列6 服务端API之获取文件信息

系列目录 【已更新最新开发文章,点击查看详细】 在《C#开发BIMFACE系列4 服务端API之源上传文件》、《C#开发BIMFACE系列5 服务端API之文件直传》两篇文章中详细介绍了如何将本地文件上传到...除此之外,BIMFACE平台还提供了单独的服务用于获取文件信息、获取文件信息列表、获取文件上传的状态信息、获取应用支持的文件类型。 下面分别介绍各种服务的使用方法。...files/1419273043501216 请求 header(示例):"Authorization: Bearer dc671840-bacc-4dc5-a134-97c1918d664b" HTTP响应示例.../// 发送 HTTP 请求并返回来自 Internet 资源的响应(HTML代码) /// /// 请求目标URL /// <...webException) 46 { 47 GetWebExceptionResponse(ref httpResult, webException); 48 } 49

69150

深入理解OkHttp源码(二)——获取响应

)) && url.port() == connection.route().address().url().port(); } } 主要看proceed方法,该方法是具体根据请求获取响应的实现...因为一开始httpStream为null,所以前面的判断都无效,直接进入第92行,首先创建next拦截器链,主需要把索引置为index+1即可;然后获取第一个拦截器,调用其intercept方法。...priorResponse = response; } } 从上面的代码可以看出,创建了streamAllocation对象,streamAllocation负责为连接分配流,接下来调用传进来的chain参数继续获取响应...,可以看到如果获取失败了,在各个异常中都会调用recover方法尝试恢复请求,从响应中取出followUp请求,如果有就检查followUpCount,如果符合要求并且有followUp请求,那么需要继续进入...CacheInterceptor CacheInterceptor尝试从缓存中获取响应,如果可以获取到,则直接返回;否则将进行网络操作获取响应

57730
领券