如何使用 IHTTPNegotiate 添加额外的 http 标头?

2024-03-29

如何使用 HTTP Negotiate 向请求添加额外的标头?我添加了接口但功能BeginningTransaction & OnResponse永远不会被打电话。

TNameSpaceHandler = class(TComObject, IInternetProtocol, IHttpNegotiate)  
...
    function BeginningTransaction(szURL, szHeaders: LPCWSTR; dwReserved: DWORD;
        out szAdditionalHeaders: LPWSTR): HResult; stdcall;
    function OnResponse(dwResponseCode: DWORD; szResponseHeaders, szRequestHeaders: LPCWSTR;
        out szAdditionalRequestHeaders: LPWSTR): HResult; stdcall;
...
end;

我默默地假设你正在通过实施来拦截流量IInternetProcol and the IInternetProtocolSink and IInternetBindInfo接口,并调用原来的IInternetProtocol完成工作。在这种情况下,了解谁呼叫谁的方向非常重要。

如果原始处理程序想要附加标头,它将首先转换您的IInternetProtocolSink into a IServiceProvider接口(与QueryInterface),然后调用QueryService for an IHttpNegotiate实例。为了方便起见,您可以添加当前对象实例并实现IHttpNegotiate在同一个对象上,但这不是必需的。

当。。。的时候BeginTransaction你的方法IHttpNegotiate接到电话,得到一个IHttpNegotiate上的实例ProtSink开始呼叫,呼叫BeginTransaction并在将标头传递给调用者之前添加标头。

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

如何使用 IHTTPNegotiate 添加额外的 http 标头? 的相关文章

随机推荐

  • 在 ASP.net MVC 中通过 jQuery 在客户端本地化验证消息

    我使用 jquery 进行客户端验证以及数据注释 一切工作正常 但我想在数字文本框中输入非数字值时本地化消息 对于服务器端验证 可以通过将 DefaultModelBinder ResourceClassKey 设置为资源类名称并为 Pro
  • 如何获取手机的位置

    我正在编写一个管理非常大的表的脚本 当用户单击表格单元格时 我想知道他们单击了哪个单元格 例如 Click 应该给我一个 1 1 的单元格引用 无论如何我都可以用 javascript 来做到这一点 它运行的页面将 jquery 用于其他目
  • 如何像在 Matlab 中一样在 Java 中绘制绘图(相同语法)

    在 Matlab 中绘图非常简单明了 例如 figure Position 100 80 1000 600 plot x y1 or MarkerSize 0 2 MarkerFaceColor r LineWidth 2 xlabel M
  • 关于“在 DirectShow 之外使用 DirectShow 过滤器?”

    我在以下链接中有完全相同的问题 在 DirectShow 之外使用 DirectShow 过滤器 https stackoverflow com q 3458868 683527我是一名刚开始执导节目的人 该堆栈中的两个答案对我来说还不够清
  • 在登录视图中找到控件

    I have a masterpage with a loginview in the loginview i have an asp login control i also have a label that is NOT contai
  • 通过 pyspark.ml CrossValidator 调整隐式 pyspark.ml ALS 矩阵分解模型的参数

    我正在尝试调整使用隐式数据的 ALS 矩阵分解模型的参数 为此 我尝试使用 pyspark ml tuning CrossValidator 运行参数网格并选择最佳模型 我相信我的问题出在评估器上 但我无法弄清楚 我可以使用回归 RMSE
  • Groovy def 和 Java 对象之间的区别?

    我试图找出两者之间的区别 Groovy def name stephanie Java Object name stephanie 由于两者似乎都充当与它们交互的对象 因此我必须将它们转换为原始的预期类型 我最初是在寻找 C 动态类的 ja
  • 尝试递归地散列对象中的值

    朋友们 我正在尝试编写对 JSON 文件中的所有值进行哈希处理的代码 无论文件结构如何 同时保留键和结构 我是 javascript 新手 遇到了一些麻烦 我的代码对 big 和 baz 的值进行哈希处理 但没有像我希望的那样递归地对 ca
  • 如何检查 iCloud 是否以编程方式配置

    这是苹果文档中的一句话 如果未配置 iCloud 请询问用户是否要配置它 如果要配置 iCloud 最好将他们转移到启动设置 如何检查 iCloud 是否已配置以及如何启动 iCloud 设置 Edit 如果您的目标是 iOS6 或更高版本
  • 在 FTP 上上传多个文件

    我是 Objective C 和 iOS 的新手 我正在使用 SimpleFTPSample 制作用于将文件上传和下载到 ftp 的测试应用程序 我需要在 ftp 上上传两个文件 但在 SimpleFTPSample 中您只能上传一个 那么
  • Silverlight工具包图表线系列颜色选择

    我正在使用 Silverlight 4 工具包并使用图表控件 特别是线系列 我还使用 Microsoft Silverlight 主题之一 它带有一些图表的默认样式 我知道在 ToolkitStyles xaml 中有大量供图表工具包使用的
  • 在Linux中使用命令行检查单个线程优先级

    我可以通过转到 proc pidof task 并给出来查看应用程序中使用的线程数 猫的状态 有没有办法使用命令检查Linux中各个线程的优先级 Regards Learner 运行 ps m l 它将列出所有线程和特定 PID 的优先级
  • Django视图响应时间问题

    您好 我有很多从查询中获得的对象 查询集尚未评估 当我将对象列表传递给分页器对象时 花了 14 秒才返回分页器对象 这是因为它正在评估列表中的所有对象 这需要时间 可能会击中数据库 在将查询集发送到分页器对象之前 我强制评估了查询集 如下所
  • Spring Integration 链流程 - 处理无效网关调用

    我有一个 Spring 集成流程 其中有一个对网关服务的服务激活器调用 该服务的结果无效并且似乎挂起 它不会继续链的其余部分 我是否需要指定其他内容来表明我不希望网关调用返回结果以继续线程执行 我有一个 void 方法声明 Service
  • 查找Python代码中除法运算符的所有用法

    我想找到我的所有实例python除法运算符的代码 用来 我的第一直觉是使用正则表达式 该表达式需要过滤掉非除法的使用 即路径名 我想出的最好的是 A z0 9 A z0 9 这将找到除法运算符 foo bar foo bar foo bar
  • 启动应用程序(如果已安装),或使用安装引荐来源网址打开 Google Play

    我们正在尝试生成一个链接 当在浏览器中单击该链接时 将打开我们的应用程序 如果已安装 这通常是通过以下方式完成的 intent some domain some parameters Intent scheme somescheme pac
  • jQuery 检查元素是否具有 css 属性

    我需要知道当我单击一个元素时该元素是否具有 CSS 属性 我正在考虑这样的事情 但它不起作用 if element attr text shadow alert i Have else alert i dont 关于这一点有什么建议吗 谢谢
  • 如何将 datetime.date 对象转换为 python 中的 datetime.datetime ? [复制]

    这个问题在这里已经有答案了 可能的重复 将 datetime date 对象转换为 datetime datetime 对象 其中任何缺失的时间属性均为零 https stackoverflow com questions 11192814
  • 在多列中显示单选框列表

    我有一个 php 循环 列出了 50 个单选框 我想在每列上放置 10 个单选框 我试过 div 样式 溢出 隐藏 空白 nowrap 浮动 左 宽度 160px gt 生成代码 php j 0 php foreach from genre
  • 如何使用 IHTTPNegotiate 添加额外的 http 标头?

    如何使用 HTTP Negotiate 向请求添加额外的标头 我添加了接口但功能BeginningTransaction OnResponse永远不会被打电话 TNameSpaceHandler class TComObject IInte