我在网站 ifconfig.me 上运行了 cmdlet:
调用-WebRequest ifconfig.me
对于内容,我只得到了我的 IP 地址。
为什么我得不到页面上的其他 HTML 内容,例如用户代理字段、语言等?
例如,
调用 WebRequest runescape.com
返回页面上的所有 HTML。
我在网站 ifconfig.me 上运行了 cmdlet:
调用-WebRequest ifconfig.me
对于内容,我只得到了我的 IP 地址。
为什么我得不到页面上的其他 HTML 内容,例如用户代理字段、语言等?
例如,
调用 WebRequest runescape.com
返回页面上的所有 HTML。
ifconfig.me似乎对
User-Agent
请求中的字符串很敏感。默认情况下,根据Microsoft Learn on
Invoke-WebRequest
,User-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 地址。