跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • JS 在不使用 API 的情况下,有办法获取域名对应 IP 吗?
未分類
7 9 月 2020

JS 在不使用 API 的情况下,有办法获取域名对应 IP 吗?

JS 在不使用 API 的情况下,有办法获取域名对应 IP 吗?

資深大佬 : gakuen 20

在浏览器前端 JS,不使用 API 情况下,有没有办法获取域名解析的 IP 。

或者有没有什么浏览器插件可以?而且能在页面里调用的。

大佬有話說 (26)

  • 資深大佬 : maocat

    让后端在响应头加上 ip

  • 主 資深大佬 : gakuen

    @maocat 假设我要获取不定的域名 IP,后端不可控的情况下。

  • 資深大佬 : w3cfed

    @gakuen Node.js

  • 資深大佬 : whypool

    不能

  • 資深大佬 : mokeyjay

    原生 JS 不行
    如果是浏览器扩展的话,那可以,毕竟扩展可以跨域

  • 資深大佬 : maichael

    你调后端,让后端去调 DNS 不就好了。

  • 資深大佬 : ik

    需求是: 从前端直接获取到访问的 cdn 节点 ip?

  • 主 資深大佬 : gakuen

    @maichael 就是不希望调用 API 或后端

  • 主 資深大佬 : gakuen

    @ik 是,大概就能获取 ping 或 nslookup 那样的结果就行,不需要真实 IP

  • 資深大佬 : shenyu1996

    不能吧 js 在客户端运行,要获取服务器信息 理论上不行

  • 資深大佬 : maichael

    @gakuen 浏览器环境下做不到

  • 資深大佬 : masker

    术业有专攻。 请用相应的工具做相应的事。
    再者,请 Google 。

  • 資深大佬 : vicsun2020

    不请求无解啊,至少需要问 dns 吧

  • 資深大佬 : falcon05

    不能

  • 資深大佬 : wunonglin

    用 DNS over HTTPs 就行

    “`js
    await fetch(‘https://dns.alidns.com/resolve?name=www.taobao.com.&type=1’)
    “`

  • 資深大佬 : zsdroid

    你以为 js 是万能的?

  • 資深大佬 : sunjourney

    为什么后端不可控,就是要让后端可控啊

  • 資深大佬 : JustSong

    你还是直接说你要拿来干嘛吧

  • 資深大佬 : x66

    https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/dns/resolve

    https://stackoverflow.com/questions/102605/can-i-perform-a-dns-lookup-hostname-to-ip-address-using-client-side-javascript

  • 資深大佬 : chinvo

    如果要知道后端去了哪个 CDN 节点,建议在 CDN 上返回 via 头

  • 資深大佬 : cydian

    @wunonglin 这样还是通过阿里的服务器获取 IP 了
    主想要获取本机解析的 IP,对于同一域名不同地域解析不同的 IP 的时候,这个方法就不行。

    回答主问题:
    1.不改变后端,不改变浏览器安全设置,不使用扩展,答案:不能
    2.后端或者 CDN 头部配合,头部添加响应 IP,即可拿到本机解析的 IP
    3.使用 15 的方案,无需改变后端,但同一域名解析多个 IP 无解
    4.使用浏览器扩展,用户上手难,不建议,但使用浏览器扩展可玩性极高

  • 資深大佬 : cydian

    19 的方案
    dns.resolve() 兼容性问题

  • 資深大佬 : lein

    需要更底层的协议和接口,JS 里面的 XMLHttpRequest 肯定是不行了,试试去 WebRTC 里面找找能不能有解决方案。

  • 資深大佬 : tydl

    <script src=”http://pv.sohu.com/cityjson?ie=utf-8″></script>
    <script type=”text/javascript”>
    document.write(returnCitySN[“cip”]+’,’+returnCitySN[“cname”])
    </script>

  • 資深大佬 : tydl

    @tydl 这是使用接口 api 了吧?

  • 資深大佬 : shenyuzhi

    浏览器没有给 js 提供这种 api,只能调第三方接口。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具