webapi 添加响应header_webapi header - CSDN
精华内容
参与话题
  • 解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头、正确...1.第一步 服务端设置响应头,在webapi的web.config做如下设置 ? 1 2 3 4 5 6 7 8 9

    解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头、正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现。

    1.第一步 服务端设置响应头,在webapi的web.config做如下设置

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <system.webServer>
    <httpProtocol>
    <!--跨域配置开始-->
    <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" /><!--支持全域名访问,不安全,部署后需要固定限制为客户端网址-->
    <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /><!--支持的http 动作-->
    <add name="Access-Control-Allow-Headers" value="Content-Type,X-Requested-With,token" /><!--响应头 请按照自己需求添加 这里新加了token这个headers-->
    <add name="Access-Control-Request-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /><!--允许请求的http 动作-->
    </customHeaders>
    <!--跨域配置结束-->
    </httpProtocol>

    2.第二部 了解IE chrome 等浏览器 对于 跨域请求并要求设置Headers自定义参数的时候的 "预请求" 就是如果遇到 跨域并设置headers的请求,所有请求需要两步完成!

    A 第一步:发送预请求 OPTIONS 请求。此时 服务器端需要对于OPTIONS请求作出响应 一般使用202响应即可 不用返回任何内容信息。(能看到这份手稿的人,本人不相信你后台处理不了一个options请求)options请求可在权限拦截器中处理

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /// <summary>
    /// 权限拦截器
    /// </summary>
    public class ApiAuthorizeAttribute : AuthorizeAttribute
    {
    public override void OnAuthorization(HttpActionContext actionContext)
    {
    if (actionContext.Request.Method == HttpMethod.Options)
    {
    actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Accepted);
    return;
    }
    }
    }

    B 第二步:服务器accepted 第一步请求后 浏览器自动执行第二步 发送真正的请求。

    客户端代码:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    $("#btnSumit").click(function () {
    var Ticket = $.cookie("token");
    var model = {
    id: 1
    };
    $.ajax({
    type: "POST",
    data: JSON.stringify(model),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    beforeSend: function (xhr) {
    // //发送ajax请求之前向http的head里面加入验证信息
    xhr.setRequestHeader("token", Ticket); // 请求发起前在头部附加token
    },
    success: function (data, status) {
    if (data.statuscode == "401") {
    alert(data.msg);
    }
    else
    {
    alert(JSON.stringify(data))
    }
    },
    //error: function (XMLHttpRequest, textStatus, errorThrown) {
    // alert(XMLHttpRequest.status);
    // alert(XMLHttpRequest.readyState);
    // alert(textStatus);
    //},
    complete: function () {
    }
    });
    });

    文章出处:http://www.jb51.net/article/90039.htm


    展开全文
  • var res = Request.CreateResponse(HttpStatusCode.OK, file); res.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); ; ret...

    var res = Request.CreateResponse(HttpStatusCode.OK, file);
    res.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); ;
    return res;

    展开全文
  • ASP.NET Web API中对Headers的操作

    万次阅读 2019-02-15 10:53:57
    ASP.NET Web API中对Headers的操作。 1、获取请求头信息 string value = HttpContext.Current.Request.Headers["name"]; 2、添加响应头信息 HttpResponseMessage result = new HttpResponseMessage...

    ASP.NET Web API中对Headers的操作。

    1、获取请求头信息

    string value = HttpContext.Current.Request.Headers["name"];

    2、添加响应头信息

    HttpResponseMessage result = new HttpResponseMessage();
    result.Headers.Add("name", "value");

    示例:ASP.NET Web API项目方法中获取请求头信息,并在返回结果中添加响应头信息。

    /// <summary>
    /// Headers操作示例
    /// </summary>
    public HttpResponseMessage OperHeaders()
    {
        //获取请求头信息
        string info = HttpContext.Current.Request.Headers["My-Headers-Info"];
    
        //返回响应结果
        HttpResponseMessage result = new HttpResponseMessage();
        result.Content = new StringContent("请求头信息为:" + info);
    
        //添加响应头信息
        result.Headers.Add("Access-Control-Expose-Headers", "My-Headers-Info");
        result.Headers.Add("My-Headers-Info", "ABC123");
    
        return result;
    }

     

    展开全文
  • 这个简单的问题对于初学core的我来说还是折腾了好久,然后加了一个群问了一下,终于解决了,感谢大神的指点;...我在header里面返回自定义参数count,startup.cs配置如下:  app.UseCors(builder =&gt;  {  ...

    这个简单的问题对于初学core的我来说还是折腾了好久,然后加了一个群问了一下,终于解决了,感谢大神的指点;

    官方api:

    总结:阅读官方的api文档很重要啊,惭愧啊;

    然后以此备忘吧。

    我在header里面返回自定义参数count,startup.cs配置如下:

                app.UseCors(builder =>
                {
                    builder.AllowAnyOrigin();
                    builder.AllowAnyHeader();
                    builder.AllowAnyMethod();
                    builder.AllowCredentials();
                    builder.WithExposedHeaders(new string[] { "count" });

     
                });

     

     

    展开全文
  • Tornado设置http的响应header

    千次阅读 2015-09-05 22:42:59
    在tornado中设置http请求的响应头:self...告诉浏览器以html文件的形式解析此响应的bodyajax请求,设置rest的api响应头:self.set_header("Content-Type","application/json");ajax请求以json数据类型解析此响应的body
  • web Api 自定义请求头

    千次阅读 2014-09-24 14:02:06
    1、如果要自定义请求头,我们需要继承一个类:HttpClientHandler   public class GitHttpClientHandler:HttpClientHandler  {  protected override Task SendAsync(HttpRequestMessage request, ...
  • HTTP响应头和请求头信息对照表 浏览器 AJAX 跨域请求访问控制 HTTP Method 详细解读(GET HEAD POST OPTIONS PUT DELETE TRACE CONNECT)从MVC到前后端分离,必然要处理CORS(Cross-Origin Resource Sharing)/同源...
  • web开发时进程遇到需要编写一些小的测试用例用于测试api接口是否可用,此时使用Spring框架的开发者大多会想到使用RestTemplate。本文实现一个使用RestTemplate发起GET请求,同事设置GET请求的http头的示例。 1、...
  • Web API系列教程】1.1 — ASP.NET Web API入门

    万次阅读 多人点赞 2016-02-26 17:12:25
    前言HTTP不仅仅服务于web页面,同时也是构建暴露服务和数据的API的强大平台。...ASP.NET Web API是一个在.NET框架上构建web API的框架。在本教程中,你将使用ASP.NET Web API来创建一个返回产品列表的we
  • 3. Spring Session Restful 风格API

    万次阅读 2019-08-27 16:15:18
    在Java web应用, Session 会话保持是依靠浏览器传入一个name为SESSON的cookie而实现的, 默认情况下, spring session 也是采用基于这种方式实现的, spring session会解析请求对象中的cookie. 而Restful风格的API, ...
  • Postman做web接口自动化测试 一

    万次阅读 多人点赞 2017-03-29 10:22:34
    Postman做Web接口自动化测试, 1、Postman是Chrome的一个应用。使用Postman,可以快速构建请求,保存以供以后使用,并分析API发送的响应。 2、Postman有响应结果的比较功能,可以用来写测试用例 3、可以把测试用例...
  • 在网页与接口不处于同一个服务器的前提下(前端代码放在A服务器,接口牌B服务器),ajax请求接口的时候,浏览器会为了安全问题,在接口返回数据的时候,对响应头进行检验。如果响应头中没有Access-Control-Allow-...
  • Web应用安全之Response Header 前言 1.1 那些敏感的header 1.2 删除敏感的header 1.2.1 删除server字段 1.2.2 删除X-Powered-By字段 1.2.3 删除 X-AspNet-Version字段 1.2.4 删除X-AspNetMvc-Version     ...
  • 一、Ajax 概述 Ajax 是 Asynchronous Javascript And XML 的简写 ...使用XMLHttpRequest对象与Web服务器进行异步数据通信 使用Javascript操作Document Object Model进行动态显示及交互 使用J...
  • (精华)2020年9月22日 微服务 WebAPI详解

    万次阅读 2020-09-22 22:59:20
    if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
  • 通过.NET客户端调用Web API(C#)

    万次阅读 2020-05-29 14:59:37
    3.2 Calling a Web API From a .NET Client (C#) 3.2 通过.NET客户端调用Web API(C#) 本文引自:http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client By Mike Wasson | ...
  • 1 浏览器的限制 2 跨域 3 浏览器发送的是 XHR (XMLHttpRequest)请求 当以上三个条件都满足时浏览器会抛出跨域请求异常(记住...常见的简单请求:请求方法为:GET ,HEAD,POST,请求header里面无自定义头,Conten...
  • 现在的web和移动开发,常常会调用服务器提供restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用。这里介绍一下如何在chrome浏览器利用postman应用进行restful api接口请求...
  • Swagger 入门和实战

    万次阅读 2018-04-27 22:11:25
    简介Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。Swagger 是一种通用的,和编程...
  • 需要flask将数据发送到web前端,定义一个路由,访问该路由获取数据。 res= make_response(json.dumps(result)): 通过make_response封装数据及类型转换,返回res即可。 rst = make_response(result_text) rst....
1 2 3 4 5 ... 20
收藏数 34,574
精华内容 13,829
关键字:

webapi 添加响应header