(new-object System.Net.WebClient).Downloadfile(“https://www.dropbox.com/sh/tsyz48qg0rq3smz/QAstBLgPgN/version.txt”,“C:\ Users \ Brangle \ Desktop \ version.txt”)API下载无效数据。
version.txt文件需要下载。但实际上它正在下载目标位置上的version.txt中包含的一些xml文件
提前致谢
答案 0 :(得分:1)
您正尝试在漂亮的以Dropbox为主题的html中下载呈现文件的保管箱页面。您需要提取真实网址,并且可以使用以下代码执行此操作:
$wc = New-Object system.net.webclient;
$s = $wc.downloadString("https://www.dropbox.com/sh/tsyz48qg0rq3smz/QAstBLgPgN/version.txt");
$r = [regex]::matches($s, "https://.*token_hash.*(?=`")");
$realURL = $r[$r.count-1].Value;
$wc.Downloadfile($realURL, "U:\version.txt");
正则表达式部分查找以https://开头的网址,中间有一个字符串token_hash,并在双引号字符之前结束一个字符“。有问题的行是:
FilePreview.init_text(“https://dl.dropboxusercontent.com/sh/tsyz48qg0rq3smz/QAstBLgPgN/version.txt?token_hash=AAEGxMpsE-T4xodBPd3A6uPTCr0uqh7h4B2YUSmTDJHmjg”,0,null,0)
希望这有帮助。
答案 1 :(得分:1)
这是功能:
var temp=$('span[att2="sp"]').first().closest('div[att1="first_div"]');
alert(temp.attr("id"));
答案 2 :(得分:0)
Re:LogMeIn - 他们使用cookie基本身份验证,因此您无法使用以前的代码。试试这个,它从第一个响应中获取一个cookie,然后使用它来使用webclient下载:
$url = "https://secure.logmein.com/fileshare.asp?ticket=01_L5vwmOrmsS3mnxPO01f5FRbWUwVKlfheJ5HsfpTV"
$wc = New-Object system.net.webclient
$req = [System.Net.HttpWebRequest]::Create($url)
$req.CookieContainer = New-Object System.Net.CookieContainer
$res = $req.GetResponse()
$cookie = $res.Cookies.Name + "=" + $res.Cookies.Value
$wc.Headers.Add([System.Net.HttpRequestHeader]::Cookie, $cookie)
$newurl = $url + "`&download=1"
$wc.downloadFile($newurl, "c:\temp\temp.zip")