【问题标题】:Is there any way to unshorten the url using pure javascript or jquery? [closed]有没有办法使用纯 javascript 或 jquery 来缩短 url? [关闭]
【发布时间】:2020-09-20 19:18:18
【问题描述】:

我正在寻找一种方法,通过该方法可以获取我在 javascript 文件中输入的缩短 URL 的未缩短 URL。

function(short_url){ 
some method; 
return full_url; 
}

就像我会调用一个函数并通过它传递一个缩短的 URL,它会返回给我完整的 URL。我应该使用什么方法或过程

我为此代码使用简单托管,因此无法使用 node.js

【问题讨论】:

  • 问:“短网址”到底是什么意思?
  • @paulsm4 — 他们在问题中给出了bitly.com 的例子。他们在询问第三方短 URL 重定向服务。
  • @paulsm4 就像我们使用的任何缩短网址服务一样,例如 google shortner 或 bitly shortner
  • Bitly 有一个可以使用dev.bitly.com/api-reference#getBitlink 的api。查看fetch() 代码示例,@Quentin 很可能认为浏览器不存在这些示例。

标签: javascript jquery url


【解决方案1】:

既然你说你不能使用 Node.js,我假设你的意思是“在浏览器中运行 JS”。

您需要一个 API,它允许您向具有重定向响应的 URL 发出 HTTP 请求,然后从中读取 Location 标头。

这将失败有两个原因:

  1. 浏览器提供给 JS 的 API 用于使 HTTP 请求透明地遵循重定向,因此您永远无法读取 Location 标头。
  2. 它们是跨域请求,在大多数情况下会被同源策略阻止。

Sime 短 URL 服务器会显示一个插页式 HTML 文档,告诉用户他们正在被重定向。在这些情况下,问题 1 消失了,如果不是问题 2 仍然影响这一点,您将需要为每个服务的 HTML 文档编写自定义解析器以从中提取目标 URL。

【讨论】:

  • 是的,我试过这样做确实会向缩短的 url 发送一个 http 请求,在大多数情况下我得到了 cors 错误
  • @AmanDutt - 是的,正如我所说,这是让你想做的事情变得不可能的两件事之一。
  • 您可以建议我通过哪些其他方式来做到这一点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
相关资源
最近更新 更多