无法从包含凭据的 URL 构造请求

Posted

技术标签:

【中文标题】无法从包含凭据的 URL 构造请求【英文标题】:Request cannot be constructed from a URL that includes credentials 【发布时间】:2017-07-20 00:01:00 【问题描述】:

我想从 React.js 中的 API 获取 JSON。我尝试过使用 axios、superagent 和 fetch,但它不起作用?

let token = '****';
    let url = 'https://'+ token +'@api.navitia.io/v1/coverage/fr-idf/stop_areas/stop_area%3AOIF%3ASA%3A59491/departures?';

    let myInit = 
        'method': 'GET'
    

    fetch(url, myInit).then((response)=>
        return response.json();
    ).then((data)=> 
        console.log('ok');
    ).catch(function(err)
        console.log('Erreur: ' + err);
    );

错误:“”

【问题讨论】:

【参考方案1】:

我认为错误是让您知道问题是它不以这种方式接受凭据。

您需要创建一个 X-Auth-Token 标头并将令牌添加到该标头。然后通过整个事情

【讨论】:

【参考方案2】:

试试这个改变

let myInit = 
    'method': 'GET',
    credentials: 'include' // or 'same-origin'

【讨论】:

以上是关于无法从包含凭据的 URL 构造请求的主要内容,如果未能解决你的问题,请参考以下文章

从 Blazor 发出 CORS 请求时如何包含凭据?

Safari 阻止 URL 请求凭据,因为它是跨域请求

将带有嵌入式凭据 URL 的 cURL 请求转换为获取请求 [重复]

从工作灯适配器调用受密码保护的 URL 时如何输入用户凭据?

无法设置 URLRequest 授权标头

Jenkins - git使用Git插件请求登录凭据