C# HttpWebRequest 必须使用适当的属性或方法修改“Host”标头;必须使用适当的属性或方法修改“Date”标头。
//无法直接修改标题“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”标头。相关推荐
- pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...
如何在 PB 数据窗口中修改数据 --- 设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修 改了数据窗口中的数据,插入了新的数据行或者删除了数据行以后,只要调 ...
- 【Matlab 控制】批量修改大型 Simulink 模型中模块的属性
批量修改大型 Simulink 模型中模块的属性 一.通过Simulink自带的搜索 二.通过命令行进行搜索替换 三.使用Model Explorer编辑属性 在大型Simulink建模中,需要进行某 ...
- 动态创建的 CEdit 被限制长度,增加 ES_AUTOHSCROLL 属性;被无法Tab激活焦点,增加 WS_TABSTOP 属性(转)...
动态创建的 CEdit 被限制长度,增加 ES_AUTOHSCROLL 属性:被无法Tab激活焦点,增加 WS_TABSTOP 属性. CEdit m_editUrl; // ES_AUTOHSCRO ...
- python添加、修改、删除、访问类对象属性的2种方法
1.直接添加.修改.删除.访问类对象属性 class Employee (object):empCount = 0 def __init__(self, name, salary) :self.nam ...
- python修改类的属性值_python 四种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,直接修改类属性的值...
三种方法修改类变量,实例对象调用类方法改变类属性的值,类对象调用类方法改变类属性的值,调用实例方法改变类属性的值,类名就是类对象,city就是类变量, #coding=utf-8 class empl ...
- WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性
原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...
- Python中类方法、类实例方法、静态方法,私有属性和私有方法有何区别?
类方法 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用. 使用格式: 对类的属性进行操作,就要用类的方法. @class ...
- php 受保护类,php中如何在外部修改类的私有或受保护属性值
php中怎么在外部修改类的私有或受保护属性值 在做单元测试框架时,发现了个比较郁闷的问题:测试人员需要在类外修改类的private或protected成员变量的值,而这些变量没有抽象成public的属 ...
- php如何在类的外部修改成员属性,php中如何在外部修改类的私有或受保护属性值...
php中怎么在外部修改类的私有或受保护属性值 在做单元测试框架时,发现了个比较郁闷的问题:测试人员需要在类外修改类的private或protected成员变量的值,而这些变量没有抽象成public的属 ...
最新文章
- VB与C#代码转换在线工具,亲测好用
- Swift语法专题五——集合类型
- Python——format()/str.format()函数
- mos 控制交流_MOS管和IGBT管的区别
- MAC下安装与配置MySQL [转]
- 泰山游记:绝顶海拔1525米
- 计算机机房网络布线方案,计算机机房布线方案与机房的环境要求
- java 动画 制作_DragonBones简单动画制作实例
- 怎么用计算机扫描照片,怎么扫描图片上的文字-无需扫描仪,教你三招轻松搞定文字识别!...
- jar类型文件图标不显示_显示的JAR文件
- Unity跳转App的应用市场
- Android进阶宝典—App响应时间优化
- android canvas添加文字居中,android Canvas drawText 文字居中
- shell lsof
- 手机访问电脑文件_彻底解决手机-电脑互传大文件的难题 电脑-手机快捷互联互通...
- 攻防世界-misc-流量分析1
- 实时全局光照RSM-Reflective Shadow Maps(RSM)
- 巧妙解决window系统盘不足 而又不想全盘格式分区 增加C盘空间大小的问题
- 安装教程——Stegsolve
- 未来三年中职生涯规划计算机应用,中职生职业生涯规划书 计算机
热门文章
- 南邮考研811数据结构经验分享
- iOS设计模式之MVC
- (10.2)【隐写实现】简介、流程图、具体步骤
- GO micro V3环境搭建
- vue3+ts实现 家谱树
- javascript脚本_JavaScript Shell脚本
- dubbo下Dubbo协议注册中心理解SimpleRegistryService之register,getRegistered,notify方法理解注释
- 学习(Java Web)编程技术要点及方向; 完成项目的要决
- 中国民营医疗产业经营管理模式与“十四五”发展规划建议报告2021-2027年版
- 【BZOJ3506】[CQOI2014] 排序机械臂(Splay)