我想尝试将我的bash脚本从
linux转移到powershell,但无法理解为什么它失败了.
Linux命令:
wget -q -x --user-agent="blablabla" --keep-session-cookies --load-cookies cook.txt http://site.com/qqq
powershell代码:
$source = "http://site.com/qqq" $destination = "d:\site\qqq" $wc = New-Object System.Net.WebClient $wc.DownloadFile($source,$destination)
但此代码仅下载没有cookie的页面.我无法找到如何将PHPSESSID发送到网站.
请向我解释如何做到这一点.
解决方法
好的,你有两个选择.
>在Windows上运行wget.
>将webclient对象的属性设置为
复制wget标志设置的功能.
第一个很简单,只需下载Windows version of wget即可.
这是第二个的代码.
$source = "http://site.com/qqq" $destination = "d:\site\qqq" $wc = New-Object System.Net.WebClient # Single Example $wc.Headers.Add([System.Net.HttpRequestHeader]::Cookie,"name=value") # Multi Example $wc.Headers.Add([System.Net.HttpRequestHeader]::Cookie,"name=value; name2=value2"); $wc.DownloadFile($source,$destination)
我不确定如何复制wget的-x功能.尝试上面的内容,看看下载后它对文件的作用.
注意 – 我无法测试这个……