从 HttpWebRequest/Response 获取底层 tcp 连接

2023-11-23

我试图获取更多有关当我连接到比 HttpWebRequest 和 HttpWebResponse 给我的级别更低的网站时发生的情况的信息。我正在使用 C#。

我希望能够查看有关 dns 查找以及建立连接所需时间的信息(如果建立了新连接)。 HttpWebRequest 和 HttpWebResponse 的工作级别比这更高,我想问是否有办法获取底层 TcpClient 对象(或它们使用的任何低级别对象)。

如果不可能,那么有没有一种方法可以获取和操作 .net 维护的连接列表,而无需通过 HttpWebRequest 或 HttpWebResponse 获取它?

我无法更改我正在开发的应用程序以使用 TcpClient,因为可靠地实现所有 http 内容会太耗时。


我能为您提供的最好方法是创建一个包含以下信息的 app.config 文件:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <system.diagnostics>
        <trace autoflush="true" />
            <sources>
                <source name="System.Net" maxdatasize="1024">
                    <listeners>
                        <add name="MyTraceFile"/>
                    </listeners>
                </source>
              <source name="System.Net.Sockets" maxdatasize="1024">
                    <listeners>
                        <add name="MyTraceFile"/>
                    </listeners>
                </source>  
           </sources>


            <sharedListeners>
                <add
                  name="MyTraceFile"
                  type="System.Diagnostics.TextWriterTraceListener"
                  initializeData="System.Net.trace.log"
                />
            </sharedListeners>
            <switches>
                <add name="System.Net" value="Verbose" />
              <add name="System.Net.Sockets" value="Verbose" />
            </switches>
    </system.diagnostics>
</configuration>

这将启用跟踪并在应用程序文件夹中删除名为“System.Net.trace.log”的日志文件。您不会获得您正在寻找的所有信息,并且在应用程序运行时不容易使用这些信息,但至少您不需要运行第三方程序。它没有太多记录,但有一些信息至少在那里。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 HttpWebRequest/Response 获取底层 tcp 连接 的相关文章

  • 具有长期运行对象上下文的实体框架

    我对 WinForms 我敢说 WPF 中的 Linq to SQL 的主要烦恼之一是缺乏对长时间运行的数据上下文的支持 请参阅here http blogs msdn com dinesh kulkarni archive 2008 04
  • 将 LINQ to Entities 查询中的每个项目转换为接口的最佳方法是什么?

    我有一个实现 IUser 的实体对象 User IQueryable
  • 增加超时时间

    我必须增加超时时间 以下是我的代码 Private Function GetConnectionInstance As SqlConnection Dim objConn As SqlConnection Dim strConnection
  • NUnit 测试运行顺序

    默认情况下 nunit 测试按字母顺序运行 有谁知道有什么方法可以设置执行顺序吗 是否存在这样的属性 我只是想指出 虽然大多数受访者认为这些是单元测试 但问题并没有具体说明它们是 nUnit 是一个很棒的工具 可用于各种测试情况 我可以看到
  • F# 内联如何工作?

    对于 F 我的理解是您可以使用 inline 关键字在调用站点执行类型专门化 那是 val inline a gt b gt c when a or b static member a b gt c 约束条件是 a or b必须有一个静态成
  • 按位非运算符

    为什么要按位运算 0 打印 1 在二进制中 不是0应该是1 为什么 你实际上很接近 在二进制中 不是0应该是1 是的 当我们谈论一位时 这是绝对正确的 然而 一个int其值为0的实际上是32位全零 将所有 32 个 0 反转为 32 个 1
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • “volatile void function( ... )” 做了什么?

    我见过从语法角度来看 C 函数中 volatile 关键字有多少种用法 https stackoverflow com questions 7643528 how many usage does volatile keyword have
  • 没有真正理解 std::atomic::compare_exchange_weak 和compare_exchange_strong 的逻辑

    我读了https en cppreference com w cpp atomic atomic compare exchange https en cppreference com w cpp atomic atomic compare
  • 让 GCC/Clang 使用 CMOV

    我有一个简单的标记值联合 这些值可以是int64 ts or doubles 我正在对这些联合进行加法 但需要注意的是 如果两个参数都代表int64 t值 那么结果也应该有一个int64 t value 这是代码 include
  • 适用于 Windows 的键值数据库?

    除了 MongoDB 和 Memcached 之外 Windows 上还运行哪些键值存储 我见过的大多数似乎只能在 Linux 上运行 Hypertable Redis Lightcloud 相关链接 是否有经过商业验证的云存储 Key g
  • 在标准库中静态链接时如何支持动态插件?

    假设一个应用程序myapp exe是使用构建的g 它使用标志 static libstdc 这样就可以安装在没有环境的情况下libstdc so myapp exe还添加了对某些功能的插件支持plugf可以通过动态加载dlopen来自共享库
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • 带有 Unicode 字符的主机名在 Windows 8 中有效

    Uri CheckHostName 回报UriHostNameType Unknown到处都是 但在 Windows 8 上 它又回来了UriHostNameType Dns 为什么突然间带有 Unicode 西里尔字符的主机名在 Wind
  • Global.asax 错误处理程序或自定义 IHttpModule 错误处理程序未捕获未处理的异常

    我有一个类 DPCal EventMove 的一种方法 我想限制使用角色的访问 我有一个 Global asax cs 错误处理程序和一个自定义 IHttpModule 错误处理程序 旨在捕获未处理的异常 并将它们 Server Trans
  • 如何从句柄确定进程是 32 位还是 64 位?

    如何从使用 OpenProcess 获取的进程句柄中获取信息 无论进程是 32 位还是 64 位 是的 IsWow64Process 毫无用处 令人烦恼 它的真正意思是 启用了 32 位模拟 如果您在 32 位操作系统上运行 则返回 fal
  • 将函数作为函数参数传递

    Unity C 似乎无法识别Func lt gt 作为函数委托的符号 那么 如何将函数作为函数参数传递呢 我有一个想法Invoke functionName 0 可能有帮助 但我不确定它是否实际上立即调用该函数 或者等待帧结束 还有别的办法
  • Azure Function App Azure 服务总线触发器触发两次

    我使用带有服务总线触发器的 Azure Function Apps 来读取服务总线并对服务总线消息的内容执行操作 服务总线接收 JSON 序列化对象 然后将 JSON 消息反序列化回 Function App 中的对象 然而 由于某种原因
  • 在 C++ 中将大型数据向量写入/读取到二进制文件

    我有一个 C 程序 它通过将 ascii 文件中的网格人口数据读取到大型 8640x3432 元素双精度向量中来计算给定半径内的人口 将 ascii 数据读入向量大约需要 30 秒 循环每列和每行 而程序的其余部分只需要几秒钟 我被要求通过
  • 如何通过Task.ContinueWith创建传递?

    我想在原始任务结束时添加一个任务 但想保留原始结果和类型 附加任务仅用于记录目的 例如写入控制台等 例如 Task Run gt DateTime Now Hour gt 12 Hey throw new Exception Continu

随机推荐

  • 如何用js检测屏幕截图

    Not sure how they do it but hulu has found a way to detect if a screenshot is taken or if the screen record is on and se
  • C函数中的指针“未使用计算值”

    我编写了一个函数 可以按照请求的长度缩短字符串 单词的句子 我不希望句子的剪切恰好位于单个单词的中间 所以我向后跳 n 个字符 直到到达一个空格并在那里剪切句子字符串 我的问题并不是真正的问题 编译我的函数会发出一条警告 提示 警告 未使用
  • 在 svg 路径元素上添加类

    在我的项目中 我有一个 SVG 世界地图 其中包含具有不同 id 的不同路径和一类map path 对于每个国家 地区 单击 我想在每个路径上添加类 我的 HTML 是这样的
  • 消息队列的好策略?

    我目前正在设计一个应用程序 我最终希望将其迁移到 Windows Azure 然而 短期内 它将在我自己托管的服务器上运行 该应用程序涉及许多独立的 Web 应用程序 其中一些本质上是接收数据的 WCF 服务 一些是供用户管理数据的站点 此
  • C++——为什么我们应该在这个构造函数中使用显式?

    请参阅维基百科 策略模式 C class Context private StrategyInterface strategy public explicit Context StrategyInterface strategy strat
  • 容器内水平滚动

    我对 javascript 很陌生 我正在尝试创建一个水平滚动 div JSfiddle 正如您所看到的 菜单链接转到每种颜色 但我想将其放入一个 250x250px 的容器中 因此只有 1 种颜色可见 然后您单击任一链接 它就会滚动到该颜
  • protobuf-net 字节数组上的 OverwriteList

    我正在做的是尝试通过 protobuf net 发送 IPEndpoint 我观察到 当将 4 字节数组反序列化为 IP4 地址时 设置代码收到 8 字节的值 四个字节包含原始地址 另外 4 个字节包含序列化的地址 通过单步执行代码 我已经
  • 使用两个多对多时 GROUP_CONCAT 中的值重复 [重复]

    这个问题在这里已经有答案了 我试图在字符串中加入两个多对多关联 在此示例中 每个团队都有未确定的颜色数量和未确定的获奖数量 这是架构 这是我正在使用的查询 SELECT teams name AS name GROUP CONCAT col
  • 更改 5.0+ 上的对话框文本颜色

    我正在尝试更改对话框中的文本颜色 最常见的是 AlertDialog 我已经尝试了这些页面上的所有解决方案 AlertDialog 样式 如何更改标题 消息等的样式 颜色 如何更改 AlertDialog 标题的颜色及其下方线条的颜色 如何
  • Spring Boot + Spring Data 多租户

    是否可以将 Spring Boot 配置为使用 MultiTenantConnectionProvider 以便我系统的每个客户端都连接到自己的私有数据库 具体来说 我希望使用内置的休眠支持来支持多租户 http docs jboss or
  • 如何使用javascript更改占位符的颜色? [复制]

    这个问题在这里已经有答案了 我想在调用 mobileValidate 后更改此占位符的颜色
  • Sass:使用@for循环改变颜色

    I try to darken a variable number of divs like that with following code mixin color divs count baseName startcolor color
  • 启用双重逃逸有危险吗?

    我有一个 ASP NET MVC 应用程序 其路径允许通过 search 搜索内容 当我提供 search abc 时 它运行良好 但是当我提供 search a b c 正确的 url 编码 时 IIS7 会拒绝该请求 并出现 HTTP
  • 未定义用户定义类型 - 从 Excel 控制 Word

    我正在尝试从 Excel 2007 到 Word 2007 进行一些相对简单的复制和粘贴 我浏览过这个网站和其他网站 但一直对同一件事感到困惑 下面的代码的第三行不断给我 用户类型注释已定义 错误消息 我真的很困惑 因为我刚刚从另一个解决方
  • 将自定义标签添加到材料范围滑块

    I m using Android material components library s latest 1 3 0 alpha01 version to display a range slider slider with two t
  • Laravel 5.4 EloquentUserProvider 重写 validateCredentials

    public function validateCredentials UserContract user array credentials plain credentials password return this gt hasher
  • Java == 对于 String 对象不再起作用?

    public class Comparison public static void main String args String s prova String s2 prova System out println s s2 Syste
  • ggplot2 3D 条形图

    我知道这听起来很基本 但已经搜索了一个多小时 但没有成功 我只是想使用 ggplot2 包在 R 中绘制 3D 条形图 我的数据框看起来像这样 x y z t1 5 high t1 2 low t1 4 med t2 8 high t2 1
  • 以编程方式从应用程序启动 Skype 并传递号码 - Android

    尝试启动并传递电话 不 通过我的应用程序中的以下代码转至 Skype PackageManager packageManager getPackageManager Intent skype packageManager getLaunch
  • 从 HttpWebRequest/Response 获取底层 tcp 连接

    我试图获取更多有关当我连接到比 HttpWebRequest 和 HttpWebResponse 给我的级别更低的网站时发生的情况的信息 我正在使用 C 我希望能够查看有关 dns 查找以及建立连接所需时间的信息 如果建立了新连接 Http