[Unity WWW] 跨域访问解决方法
什么是跨域訪問
域(Domain)是Windows網絡中獨立運行的單位,域之間相互訪問則需要建立信任關系(即Trust Relation)。信任關系是連接在域與域之間的橋梁。當一個域與其他域建立了信任關系后,2個域之間不但可以按需要相互進行管理,還可以跨網分配文件和打印機等設備資源,使不同的域之間實現網絡資源的共享與管理。
有一種簡明的說法來解釋廣域跨域:跨域訪問,簡單來說就是?A?網站的?javascript?代碼試圖訪問?B?網站,包括提交內容和獲取內容。由于安全原因,跨域訪問是被各大瀏覽器所默認禁止的。
Unity發布的Web程序出現的跨域訪問問題
當使用WWW訪問Web服務時,安全策略會阻止跨域的請求訪問,會返回類似“Rejected because no crossdomain.xml policy file was found”等錯誤信息。
?
Unity發布的Web程序需要跨域訪問時的解決辦法
為提供Web服務的目錄配置安全策略文件,即crossdomain.xml(還有人提過添加一個Web代理服務的解決辦法,但相比較配置安全策略文件這種方法會更簡單一些)。?
文件內容如下:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
其中,在xml文檔中domain=“*” 表示該服務目錄允許任何外域來訪問,你也可以把“*”替換成指定的域名,如下:?
<?xml version=”1.0″?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies=”master-only” />
<allow-access-from domain=”s-static.facebook.com” />
<allow-access-from domain=”static.facebook.com” />
<allow-access-from domain=”static.api.ak.facebook.com” />
<allow-access-from domain=”*.static.ak.facebook.com” />
<allow-access-from domain=”s-static.thefacebook.com” />
<allow-access-from domain=”static.thefacebook.com” />
<allow-access-from domain=”static.api.ak.thefacebook.com” />
<allow-access-from domain=”*.static.ak.thefacebook.com” />
<allow-access-from domain=”*.static.ak.fbcdn.com” />
<allow-access-from domain=”external.ak.fbcdn.com” />
<allow-access-from domain=”*.static.ak.fbcdn.net” />
<allow-access-from domain=”external.ak.fbcdn.net” />
<allow-access-from domain=”www.facebook.com” />
<allow-access-from domain=”www.new.facebook.com” />
<allow-access-from domain=”register.facebook.com” />
<allow-access-from domain=”login.facebook.com” />
<allow-access-from domain=”ssl.facebook.com” />
<allow-access-from domain=”secure.facebook.com” />
</cross-domain-policy>
需要注意的是,crossdomain.xml必須要是一個ASCII文件。
另外需要注意的是,需要將crossdomain.xml文件放在服務器的一個的根目錄下
例如:
- http://www.sample.net/crossdomain.xml
- http://127.0.0.1:9097/crossdomain.xml
在本地進行程序調試時,需要在Unity開發工具的菜單欄中打開Editor Setting.
Edit->Project Setting->Editor
需要將HostURL這個屬性的值,修改成對應的URL服務器.
?
轉載于:https://www.cnblogs.com/daxiaxiaohao/p/4162648.html
總結
以上是生活随笔為你收集整理的[Unity WWW] 跨域访问解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好听的法语名字女
- 下一篇: OC学习篇之---对象的拷贝