我正在执行一些 HTTP 请求,但遇到问题,因为我获取的 IP 地址如下:::ffff:198.0.0.1
我尝试使用
删除 ::ffff 部分if (ip.substr(0, 7) == "::ffff:") {
ip = ip.substr(7)
}
它确实使我的代码可以工作,但我认为这不是最好的解决方案。谁能建议我什么是最佳实践?我正在使用 Koa JS。
编辑: 我不太熟悉 IPv4 和 IPv6,但基本上,我正在向 http://198.0.0.1:8000/send_request 发出发布请求。因此,我获得的 IP 是 ::ffff:198.0.0.1,如果发生这种情况,我将无法成功发送 post 请求。但是,如果我只使用198.0.0.1,那么我的请求就成功了
Koa 默认监听 IPv6,如果你处于纯 IPv4 网络,只需要监听 IPv4 地址,可以使用以下配置:
app.listen(3000, '0.0.0.0');
然后您可以通过
ctx.ip
获得一个干净的IPv4地址。