如何解决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 举报,一经查实,本站将立刻删除。