必须使用适当的属性或方法修改“接受”标头。参数名称:名称

kri*_*han 7 .net c# webrequest http-headers

获取错误消息 - 必须使用适当的属性或方法修改“接受”标头。我在邮递员中得到响应,但没有进入 MVC 控制器,我有一个基本的身份验证 api,带有以下标头。同时在请求中添加接受标头时出现错误

Content-Type:  application/vnd.onem2m-res+json;ty=4;
Accept: application/vnd.onem2m-res+json;
Cache-Control: no-cache
X-M2M-RI: 9900001
Authorization: Basic QzdBQUNFO
X-M2M-Origin: C7AACE9-25
Run Code Online (Sandbox Code Playgroud)

代码

WebRequest req = WebRequest.Create(@"url");
                req.Method = "GET";
                req.Headers["Authorization"] = "Basic " + "QzdBQUNFO";
                req.ContentType = "application/vnd.onem2m-res+json";
                req.Headers.Add("Accept", "application/vnd.onem2m-res+json;");
                req.Headers["Cache-Control"] = "no-cache";
                req.Headers["X-M2M-RI"] = "9900001";
                req.Headers["X-M2M-Origin"] = "C7AACE9-25";
                HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
                var encoding = resp.CharacterSet == "" ? Encoding.UTF8 : Encoding.GetEncoding(resp.CharacterSet);
Run Code Online (Sandbox Code Playgroud)

小智 7

在以下某些情况下,您必须更改标题名称:

//req.Headers.Add("Accept", "application/vnd.onem2m-res+json;");
req.Headers.Add("20", "application/vnd.onem2m-res+json;");
Run Code Online (Sandbox Code Playgroud)

以下是允许的 Web 标题列表:

CacheControl = 0
Date = 2
Connection = 1
Date = 2
KeepAlive = 3
Pragma = 4,
Trailer = 5
TransferEncoding = 6
 Upgrade = 7
Via = 8
Warning = 9
Allow = 10
ContentLength = 11
ContentType = 12
ContentEncoding = 13
ContentLanguage = 14
ContentLocation = 15
ContentMd5 = 16
 ContentRange = 17
Expires = 18
LastModified = 19
Accept = 20
AcceptCharset = 21
AcceptEncoding = 22
AcceptLanguage = 23
Authorization = 24
Cookie = 25
Expect = 26
From = 27
Host = 28
IfMatch = 29
 IfModifiedSince = 30
IfNoneMatch = 31
 IfRange = 32
IfUnmodifiedSince = 33
MaxForwards = 34
ProxyAuthorization = 35
Referer = 36
 Range = 37
Te = 38
Translate = 39
UserAgent = 40
Run Code Online (Sandbox Code Playgroud)

希望能帮到你!

  • 您能否对此添加解释?乍一看,这就像一个完全的魔术,我的本能反应只是“哇哦?!” (2认同)

小智 6

WebRequest req = WebRequest.Create(@"url");
            req.Method = "GET";
            req.Headers["Authorization"] = "Basic " + "QzdBQUNFO";
            req.ContentType = "application/vnd.onem2m-res+json";
            req.Accept = "application/vnd.onem2m-res+json";
            req.Headers["Cache-Control"] = "no-cache";
            req.Headers["X-M2M-RI"] = "9900001";
            req.Headers["X-M2M-Origin"] = "C7AACE9-25";
            HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
            var encoding = resp.CharacterSet == "" ? Encoding.UTF8 : Encoding.GetEncoding(resp.CharacterSet);
Run Code Online (Sandbox Code Playgroud)

微软文档