刚刚注意到仅在 Chrome 上,RTCIceCandidate 不再返回 IP,而是一个混淆的地址。
RTCIceCandidate
address: "a5b3ef18-2e66-4e24-91d2-893b93bbc1c1.local"
candidate: "candidate:169888242 1 udp 2113937151 a5b3ef18-2e66-4e24-91d2-893b93bbc1c1.local 47871 typ host generation 0 ufrag 7dHv network-cost 999"
component: "rtp"
foundation: "169888242"
port: 47871
priority: 2113937151
protocol: "udp"
relatedAddress: null
relatedPort: null
sdpMLineIndex: 0
sdpMid: "0"
tcpType: ""
type: "host"
usernameFragment: "7dHv"
Run Code Online (Sandbox Code Playgroud)
注意 RTCIceCanadate 的第一个属性是“address”,“ip”不再是这个对象的一部分。
以下代码确定浏览器的本地 IP 地址。仍然适用于 MOZ。
function discover()
{
try{
//Get Local IP
window.RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; //compatibility for firefox and chrome
if (pc)
pc.close(); …Run Code Online (Sandbox Code Playgroud) webrtc ×1