为什么 Invoke-WebRequest 只返回我的 IP 地址?

为什么 Invoke-WebRequest 只返回我的 IP 地址?

我在网站 ifconfig.me 上运行了 cmdlet:

调用-Web请求 ifconfig.me

对于内容,我只得到了我的 IP 地址。

为什么我无法获取页面上的其他 HTML 内容,例如用户代理字段、语言等?

例如,

Invoke-WebRequest runescape.com

返回页面上的所有 HTML。

答案1

看起来ifconfig.meUser-Agent对请求中的字符串很敏感。

默认情况下,每Microsoft Learn 上Invoke-WebRequestUser-Agent发送的字符串是“类似于,但Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0每个操作系统和平台略有不同”。

我尝试使用 Windows 上的 Chrome 进行此操作,并User-Agent从结果 ( Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36) 中复制了字符串。

然后我照做了Invoke-WebRequest -URI https://ifconfig.me -UserAgent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",我得到了一个完整的网页,而不仅仅是 IP 地址。

相关内容