//无法直接修改标题“Host”。
//必须使用适当的属性或方法修改“Host”标头。
//只有Framework4.5及以上才支持1.1和1.2协议
//Framework4.5及以上可以直接.Host;
string url=“”;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Host="127.0.0.1:8080";
//必须使用适当的属性或方法修改“Date”标头。
//接口不要求特定日期格式可以直接.Date,
request.Date = DateTime.Now;
//调用外部接口,接口要求Header信息里面包涵Date信息,且Date信息必须是格式化好的,(他们用的是Java),但是C#默认的是Date属性不能被修改.
//所以就会出现下面的错误:
//未处理的异常:  System.Net.WebException:请求期间发生异常。 ---> Sy
tem.ArgumentException: 此标头必须使用适当的属性进行修改。
//参数名: name
string dtTime = DateTime.Now.GetDateTimeFormats('r')[0].ToString();
MethodInfo priMethod = request.Headers.GetType().GetMethod("AddWithoutValidate", BindingFlags.Instance | BindingFlags.NonPublic);
priMethod.Invoke(request.Headers, new[] { "Date", dtTime });
string myDate = request.Headers.Get("Date");
//解决问题的办法就是使用反射。
反射:
指程序可以访问、检测和修改它本身状态或行为的一种能力。
程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。
您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。
然后,可以调用类型的方法或访问其字段和属性。优点:
1、反射提高了程序的灵活性和扩展性。
2、降低耦合性,提高自适应能力。
3、它允许程序创建和控制任何类的对象,无需提前硬编码目标类。缺点:1、性能问题:使用反射基本上是一种解释操作,用于字段和方法接入时要远慢于直接代码。
因此反射机制主要应用在对灵活性和拓展性要求很高的系统框架上,普通程序不建议使用。
2、使用反射会模糊程序内部逻辑;程序员希望在源代码中看到程序的逻辑,反射却绕过了源代码的技术,
因而会带来维护的问题,反射代码比相应的直接代码更复杂。

C# HttpWebRequest 必须使用适当的属性或方法修改“Host”标头;必须使用适当的属性或方法修改“Date”标头。相关推荐

  1. pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...

    如何在 PB 数据窗口中修改数据 --- 设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修 改了数据窗口中的数据,插入了新的数据行或者删除了数据行以后,只要调 ...

  2. 【Matlab 控制】批量修改大型 Simulink 模型中模块的属性

    批量修改大型 Simulink 模型中模块的属性 一.通过Simulink自带的搜索 二.通过命令行进行搜索替换 三.使用Model Explorer编辑属性 在大型Simulink建模中,需要进行某 ...

  3. 动态创建的 CEdit 被限制长度,增加 ES_AUTOHSCROLL 属性;被无法Tab激活焦点,增加 WS_TABSTOP 属性(转)...

    动态创建的 CEdit 被限制长度,增加 ES_AUTOHSCROLL 属性:被无法Tab激活焦点,增加 WS_TABSTOP 属性. CEdit m_editUrl; // ES_AUTOHSCRO ...

  4. python添加、修改、删除、访问类对象属性的2种方法

    1.直接添加.修改.删除.访问类对象属性 class Employee (object):empCount = 0 def __init__(self, name, salary) :self.nam ...

  5. python修改类的属性值_python 四种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,直接修改类属性的值...

    三种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,类名就是类对象,city就是类变量, #coding=utf-8 class empl ...

  6. WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性

    原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...

  7. Python中类方法、类实例方法、静态方法,私有属性和私有方法有何区别?

    类方法 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用. 使用格式: 对类的属性进行操作,就要用类的方法. @class ...

  8. php 受保护类,php中如何在外部修改类的私有或受保护属性值

    php中怎么在外部修改类的私有或受保护属性值 在做单元测试框架时,发现了个比较郁闷的问题:测试人员需要在类外修改类的private或protected成员变量的值,而这些变量没有抽象成public的属 ...

  9. php如何在类的外部修改成员属性,php中如何在外部修改类的私有或受保护属性值...

    php中怎么在外部修改类的私有或受保护属性值 在做单元测试框架时,发现了个比较郁闷的问题:测试人员需要在类外修改类的private或protected成员变量的值,而这些变量没有抽象成public的属 ...

最新文章

  1. VB与C#代码转换在线工具,亲测好用
  2. Swift语法专题五——集合类型
  3. Python——format()/str.format()函数
  4. mos 控制交流_MOS管和IGBT管的区别
  5. MAC下安装与配置MySQL [转]
  6. 泰山游记:绝顶海拔1525米
  7. 计算机机房网络布线方案,计算机机房布线方案与机房的环境要求
  8. java 动画 制作_DragonBones简单动画制作实例
  9. 怎么用计算机扫描照片,怎么扫描图片上的文字-无需扫描仪,教你三招轻松搞定文字识别!...
  10. jar类型文件图标不显示_显示的JAR文件
  11. Unity跳转App的应用市场
  12. Android进阶宝典—App响应时间优化
  13. android canvas添加文字居中,android Canvas drawText 文字居中
  14. shell lsof
  15. 手机访问电脑文件_彻底解决手机-电脑互传大文件的难题 电脑-手机快捷互联互通...
  16. 攻防世界-misc-流量分析1
  17. 实时全局光照RSM-Reflective Shadow Maps(RSM)
  18. 巧妙解决window系统盘不足 而又不想全盘格式分区 增加C盘空间大小的问题
  19. 安装教程——Stegsolve
  20. 未来三年中职生涯规划计算机应用,中职生职业生涯规划书 计算机

热门文章

  1. 南邮考研811数据结构经验分享
  2. iOS设计模式之MVC
  3. (10.2)【隐写实现】简介、流程图、具体步骤
  4. GO micro V3环境搭建
  5. vue3+ts实现 家谱树
  6. javascript脚本_JavaScript Shell脚本
  7. dubbo下Dubbo协议注册中心理解SimpleRegistryService之register,getRegistered,notify方法理解注释
  8. 学习(Java Web)编程技术要点及方向; 完成项目的要决
  9. 中国民营医疗产业经营管理模式与“十四五”发展规划建议报告2021-2027年版
  10. 【BZOJ3506】[CQOI2014] 排序机械臂(Splay)