如何在 IE11 上使用 Bitly V4 URL Shorten API

Posted

技术标签:

【中文标题】如何在 IE11 上使用 Bitly V4 URL Shorten API【英文标题】:How to use Bitly V4 URL Shorten API on IE11 【发布时间】:2020-03-22 19:28:22 【问题描述】:

我正在尝试通过 ajax POST 在 IE11 上使用 Bitly V4 URL Shorten API,但在预检 (OPTIONS) 调用后出现安全错误。我的实现和遇到的错误如下:

我的代码:

$.ajax(
    type: 'POST',
    url: 'https://api-ssl.bitly.com/v4/shorten',
    data: JSON.stringify(group_guid: '<Bitly_group_guid>', long_url: 'https://www.google.com'),
    dataType: 'json',
    contentType: 'application/json',
    headers: 
        'Authorization': 'Bearer <Bitly_generic_access_token>',
    ,
).done(function (resp) 
    console.log('OK');
).fail(function (jqXHR, textStatus, errorThrown) 
    console.log('NOT OK');
);

IE11 控制台错误(预检后抛出):

SEC7123:请求标头内容类型不存在于 Access-Control-Allow-Headers 列表中。

SCRIPT7002:XMLHttpRequest:网络错误 0x80070005,访问被拒绝。

预检 (OPTIONS) 响应标头 - 响应代码 200:

访问控制允许标头:*

访问控制允许方法:HEAD、GET、POST、PUT、PATCH、DELETE

访问控制允许来源:*

允许:发布,选项

alt-svc: 清除

内容长度:0

content-security-policy: default-src 'none

日期:2019 年 11 月 28 日星期四 03:13:04 GMT

服务器:nginx

严格传输安全性:max-age=31536000;包含子域

通过:1.1 谷歌

x-content-type-options: nosniff

x-frame-options: 拒绝

x-xss-保护:1;模式=块过滤器

最后,POST 方法根本不执行,相同的代码在 Chrome 和 Mozilla 上运行,POST 方法被执行并设法缩短 URL

我阅读了Bitly CORS,但据我了解,它似乎不支持 V4。 我无法选择更改本地计算机上的 Internet 设置,因为每个最终用户都需要这样做。

感谢是否有人可以分享解决此问题的见解。

【问题讨论】:

我尝试查看文档,没有提到任何针对 IE 浏览器的具体步骤。我测试了上面的代码,但在所有浏览器中都出现 403 错误。我搜索了那个错误,这个线程可以帮助修复这个错误。 ***.com/questions/27168061/… 出于测试目的,请尝试使用较低的安全设置进行测试。我也会尝试与其他工程师讨论这个问题,以听取他们对这个问题的建议。感谢您的理解, 请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中。 How To Ask @Deepak-MSFT 感谢您的反馈。我已经用更正的语法和有效的样本值编辑了代码 sn-p,现在结合有效的 Bitly 参数进行测试应该没问题。出于测试目的,我在 Internet 选项中启用了“跨域访问数据源”,它工作正常。我还检查了您共享的链接,不幸的是,要进行的更改是在主机端本身,这与我在客户端实现调用 Bitly 的 API 的用例不同。 您的意思是在启用“跨域访问数据源”选项后它开始使用 IE 浏览器?我再次测试了您更新的代码,但它在我这边显示了相同的 403 错误。 @Deepak-MSFT,是的,它在启用“跨域访问数据源”后开始工作。该代码应该可以工作,您是否尝试过相应地替换 Bitly 参数? 【参考方案1】:

查看文档后,我发现了有关浏览器对 Bitly api 的支持的信息。

Bitly 网络应用支持最新版本的 Chrome、Firefox、 边缘和 Safari。我们建议使用这些浏览器之一来完整 网络应用的功能。

其他浏览器未经测试,可能无法正常运行 Bitly 网络应用程序。

参考:

Which browsers does the Bitly web app support?

【讨论】:

谢谢,猜猜这是我目前能得到的最好的回应。顺便说一句,我已经向 Google Group 中的 Bitly 论坛提交了相同的查询,不幸的是,该组似乎已经有一段时间不活跃了 @here

以上是关于如何在 IE11 上使用 Bitly V4 URL Shorten API的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 使用Bitly缩短URL

除了数据 url 之外,如何让伪元素上的剪辑路径 SVG 在 IE11/Edge 中工作?

用Bitly缩短URL

Docsify v4.12.1 发布,神奇的文档网站生成工具

IE中的bootstrap v4输入组按钮和文本框对齐问题

中风 url 在 Edge 和 IE 11 SVG 中不起作用