首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将webrtc xirsys从v2更新到v3?

如何将webrtc xirsys从v2更新到v3?
EN

Stack Overflow用户
提问于 2017-10-23 20:48:54
回答 1查看 180关注 0票数 0

我目前正在测试和使用Muaz khan的webrtc firebase演示。其中一个文件使用Xirsys,使用的凭据是Muaz Khan的凭据。xirsys的详细信息是v2版本。目前Xirsys使用的是V3版本。我想知道如何将以前的代码更改为新的代码。

在演示中工作的前一段代码是

代码语言:javascript
复制
<script type="text/javascript" src="https://gc.kis.v2.scr.kaspersky-
labs.com/EC7AD6FB-B1E9-9D47-B085-7DB58B77DF98/main.js" charset="UTF-8">
</script><script>
function createCORSRequest(method, url) {
    var xhr = new XMLHttpRequest();
    if ("withCredentials" in xhr) {
        xhr.open(method, url, true);
    } else if (typeof XDomainRequest != "undefined") {
        xhr = new XDomainRequest();
        xhr.open(method, url);
    } else {
         xhr = null;
    }
    return xhr;
}
var url = 'https://service.xirsys.com/ice';
var xhr = createCORSRequest('POST', url);
xhr.onload = function () {
    window.parent.postMessage({
        iceServers: JSON.parse(xhr.responseText).d.iceServers
    }, '*');
};
xhr.onerror = function () {
    console.error('Woops, there was an error making xhr request.');
};
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
window.addEventListener('message', function (event) {
    if (!event.data || typeof event.data !== 'string') return;
    if(event.data == 'get-ice-servers') {
        xhr.send('ident=muazkh&secret=59d93f26-5b89-11e5-babe-
d61aeb366a63&domain=webrtcexperiment-webrtc.netdna-
ssl.com&application=default&room=default&secure=1');
    }
});
</script>

根据新的Xirsys文档,它应该是这样的

代码语言:javascript
复制
<!-- JS Get ICE STUN and TURN list -->
<DOCTYPE>
<html>
<head>
   <script 
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js">
</script>
  <script>
     $( document ).ready( function () {
         $.ajax ({
             url: "https://global.xirsys.net/_turn/muazkh/",
             type: "PUT",
             async: false,
             headers: {
               "Authorization": "Basic " + btoa("muazkh:59d93f26-5b89-11e5-babe-d61aeb366a63")
             },
             success: function (res){
               console.log("ICE List: "+res.v.iceServers);
              }
         });
      })
  </script>
 </head>
<body>
</body>
</html>

我所做的就是这样,但没有起作用

代码语言:javascript
复制
<head><script>
function createCORSRequest(method, url) {
    var xhr = new XMLHttpRequest();
    if ("withCredentials" in xhr) {
        xhr.open(method, url, true);
    } else if (typeof XDomainRequest != "undefined") {
        xhr = new XDomainRequest();
        xhr.open(method, url);
    } else {
        xhr = null;
    }
    return xhr;
}
var url = 'https://global.xirsys.net/_turn/muazkh/default/default';
var xhr = createCORSRequest('PUT', url);
xhr.onload = function () {
    window.parent.postMessage({
        iceServers: JSON.parse(xhr.responseText).v.iceServers
    }, '*');
};
xhr.onerror = function () {
    console.error('Woops, there was an error making xhr request.');
};
xhr.setRequestHeader("Authorization", "muazkh:59d93f26-5b89-11e5-babe-d61aeb366a63");
window.addEventListener('message', function (event) {
    if (!event.data || typeof event.data !== 'string') return;
    if(event.data == 'get-ice-servers') {
        xhr.send();
    }
});
</script>
</head>

将非常感谢这里的任何帮助。谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 01:36:37

看起来像是报头问题。授权头应该使用“基本”身份验证方案。

请将XMLHttpRequest的"setRequestHeader“更改为:

代码语言:javascript
复制
xhr.setRequestHeader("Authorization", "Basic "+ btoa("muazkh:59d93f26-5b89-11e5-babe-d61aeb366a63") );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46889802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档