UE4 HTTPServer 跨域问题1

目录

1.现象

2.浏览器调试

3.问题原因:

4.解决办法:


1.现象

        启动服务后本机可以获取接口数据,存在其他机器接口得不到数据;

2.浏览器调试

        Cross-origin resource Sharing error: WildcardOriginNotAllowed

        操作: F12->Network->status (悬停显示提示)

        

 

3.问题原因:

        响应,头结构中“access-control-allow-origin"使用了通配符“*”;

4.解决办法:

        根据请求Origin设置access-control-allow-origin;


		TUniquePtr<FHttpServerResponse> uptrHttpServerResp = FHttpServerResponse::Create(JsonString, TEXT("application/json"));
		TArray<FString>* ArrayOrg = (TArray<FString>*)Request.Headers.Find(FString(TEXT("Origin")));		
		if (ArrayOrg)
		{
			uptrHttpServerResp->Headers.Add(TEXT("access-control-allow-origin"), MoveTemp(*ArrayOrg));
		}
		else
		{
			FString StrAccessCtrlAllowOrigin = FString(TEXT("http://127.0.0.1:")) + FString::FromInt(m_SERVER_PORT);//FString(TEXT("*"));//  
			TArray<FString> ArrayAccessCtrlAllowOrigin = { MoveTemp(StrAccessCtrlAllowOrigin) };
			uptrHttpServerResp->Headers.Add(TEXT("access-control-allow-origin"), MoveTemp(ArrayAccessCtrlAllowOrigin));
		}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值