通常我将cURL用于几乎所有内容,但我只是注意到,当涉及到西里尔字母或德国变音符号等外来字符时,它并不能真正正确地返回HTML内容。
例如
Select-String -InputObject (Invoke-WebRequest -Uri "https://www.fakenamegenerator.com/gen-random-rucyr-ig.php").RawContent -Pattern '<div class="address">\s+<h3>(.*?)</h3>' | %{ $_.Matches[0].Groups[1].Value }
将正确返回西里尔字母的人的名字。
但是,使用cURL时
Select-String -InputObject (Invoke-Expression "curl.exe -s -L https://www.fakenamegenerator.com/gen-random-rucyr-ig.php") -Pattern '<div class="address">\s+<h3>(.*?)</h3>' | %{ $_.Matches[0].Groups[1].Value }
名称将显示为Камилла Евдокимова
那么在cURL仅返回一些乱码的同时,为什么Invoke-WebRequest做得很好呢?有没有办法解决cURL的结果?