前端如何解析百度搜索结果的地址
发布于 7 年前 作者 zangse 3503 次浏览 来自 问答

百度搜素后出现的地址都被编码了,要访问百度的服务器服务器重定向才能跳转到相应网站,如何直接得到跳转的路径,前端有类似的工具可以实现这个操作吗?谢谢 想过或许可以通过服务端发起请求实现,如果在不用服务端的情况下,有没有办法可以解析出正确的链接或主站域名,麻烦各位了。 百度的url 类似这样 href="http://www.baidu.com/link?url=UItyYQpOsAcU7ZfaV8OfL6r9jJKuGncf0IDYcyvokxm" 我想直接拿到 “https://cnodejs.org/” 这样的地址

3 回复

这个编码应该是个hash值,不可能直接还原出原本地址,只能发请求获取重定向地址 node

const http = require('http');

http.get('http://www.baidu.com/link?url=UItyYQpOsAcU7ZfaV8OfL6r9jJKuGncf0IDYcyvokxm', (res) => {
  console.log(res.headers.location); // http://cnodejs.org/
})

浏览器端因为有跨域限制很难做到,等我想到办法再补充 直接从header里获取肯定是不可行的,跨域情况下也没办法用iframe获取

@dislido 谢谢,我也是这样想的,已经在使用服务器技术来解决这个问题了,如果前端能直接解决就更好了

写了个脚本,用于去除重定向的。 github.com/axetroy/anri-redirect

来自酷炫的 CNodeMD

回到顶部