如何允许CORS和POCO handleRequest方法的自定义头信息?

问题描述 投票:0回答:1

我正在做SPA应用,为POCO http服务器发送请求,我通过用户名="user1 "这样的头信息来发送凭证,但这个自定义头信息并不是请求的一部分,头信息的标题只是加在 "Access-Control-Allow-Headers "头信息中。"用户名,......"。如何用POCO HTTP服务器处理这种情况?

我添加了请求和响应头,但它不工作 request.add("Access-Control-Allow-Origin", "*"); request.add("Access-Control-Allow-Headers", "origin, x-requested-with, content-type, x-custom-header-here")。

c++ poco
1个回答
0
投票

只需添加头信息 访问控制-允许-起源。 到您的服务器响应。

例如

response.set("Access-Control-Allow-Origin", "*");

0
投票

我已经解决了这个问题. 事实上,仅仅response.set("Access-Control-Allow-Origin", "*");是行不通的,你需要处理HTTP_OPTIONS请求,并在那里做。所以只要在你的请求中添加以下代码

if (request.getMethod() == Poco::Net::HTTPRequest::HTTP_OPTIONS)
    {
        response.setContentType("application/json");
        response.setKeepAlive(true); 
        response.add("Access-Control-Allow-Headers", "argument1, argument");
        response.add("Access-Control-Allow-Method","POST");
        response.send();
        return;
    }
© www.soinside.com 2019 - 2024. All rights reserved.