cpprestsdk跨域问题解决方案

1 篇文章 0 订阅
1 篇文章 0 订阅

跨域问题可以采用OPTIONS协议,在收到一方的OPTIONS请求之后,另一方应该设置好相应的headers。表示允许对应的服务的跨域请求。

1. cpprestsdk新增OPTIONS

m_listener.support(methods::OPTIONS, std::bind(&Command::handle_options, this, std::placeholders::_1));

2. OPTIONS方法添加headers

void Command::handle_options(http_request message)
{
	http_response rep;
	rep.headers().add(U("Access-Control-Allow-Origin"), U("*"));
	rep.headers().add(U("Access-Control-Request-Method"), U("GET,POST,OPTIONS"));
	rep.headers().add(U("Access-Control-Allow-Credentials"), U("true"));
	rep.headers().add(U("Access-Control-Allow-Headers"), U("Content-Type,Access-Token,x-requested-with,Authorization"));
	rep.set_status_code(status_codes::OK);
	message.reply(rep);
}

建议添加上面的所有headers,因为一开始我只添加Access-Control-Allow-Origin这个,并没有效果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值