问题描述
我有一个使用 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 (将#修改为@)