微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Lua - 通过 HTTP 代理获取我的本地/外部 IP 和我的 VPN 隧道外部 IP

如何解决Lua - 通过 HTTP 代理获取我的本地/外部 IP 和我的 VPN 隧道外部 IP

我有一个使用 Gluetun 设置的 VPN Docker 容器,它运行一个 HTTP 代理,我想看看是否可以执行 Lua http.request 来检索我的直接(本地)外部IP,还有我的隧道外部 IP?

我找到了一些页面来帮助解释我如何做到这一点,但我不确定如何连续检索两者。 (主页正在)

Fetching page of url using luasocket and proxy

这是我当前的代码

local url = require "socket.url"
local http = require "socket.http"
print("----------EXTERNAL IP DIRECT---------------")
local result,status = http.request("http://api.ipify.org/")
print(result,status)
print("---------EXTERNAL IP VIA PROXY-------------")
http.PROXY="http://192.168.102.134:8888/" -- locally hosted http proxy,no name/password
local result1,status1 = http.request("http://api.ipify.org/")
print(result1,status1)

当我第一次运行时,我得到以下信息。

---------EXTERNAL IP DIRECT---------------     
2.234.10.99     200     
---------EXTERNAL IP VIA PROXY-------------     
192.168.102.107     200   

它提供了我的外部 IP 很好,但列出的底部代理 IP 是我运行代码的机器的本地 IP,这让我感到惊讶,而且代码的每次后续运行都会返回我的本地 IP。

----------EXTERNAL IP DIRECT---------------     
192.168.102.107     200     
---------EXTERNAL IP VIA PROXY-------------     
192.168.102.107     200     

观察.. 当我设置 http.proxy 值时,所有后续请求似乎都会保留该值。 我可以看到 (gluetun) http 代理容器日志上记录的请求是肯定的,因此它们可以正常通过。

有人对 Lua 如何充当 http 客户端来检索我的隧道外部 IP 有任何想法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。