我想通過休息電話來獲取文件的etag號碼。我需要能夠將etag編號存儲到文本文件中。由於我需要在PowerShell v2.0上進行此項工作,因此我不能使用Invoke-WebRequest
方法,因爲它不受支持。Powershell休息電話etag
$response = Invoke-WebRequest -Uri $uri
$response | select @{n='ETag';e={ $_.Headers.ETag }}
我想用點網方法 -
$response = New-Object System.Net.WebClient
$etag = $response.DownloadString($URI)
但是我得到的垃圾輸出。我運行時的輸出示例$etag
-
PK ÁMÕHÖnÖ™ª ? SelfDiscovery.ps1í]{sǑ￯ê¾ÃfÉD€+ñCË¡)*VE¹
Ú¼*ÓÅPBø)ó~õ»ôc3³;»X€ A-§P ÅÅlwO?~Ý=3ýßÿÃ[email protected]úp
Ç°çøÂ%þìâ5ú¤#ÀŒá?á?øMwìÁ{¼šâ¿RgDð_§øJà:H…®_âßü」èñ>úý;~N£ˆ[¯¥þ•àH¢)
òtrò•3¤©[xíU†³ð Z]¼—FwP¾CŸZ9ºH{ÄŸž3âØÃßtE¸ßJCÒöñÕã7qv5ò¯’D#ä8à‘–ËÖÐÿ{
È’é'ßãß)s㿈ï¥÷¹¯]C|÷'s½d]Ùñ$±Ðë9<í¼ÏXo]¶Þ9¼3¥;š¬'EÞòU²œ¯Û##I2b=¨ÝÖXWøi
ÌΘôSôYßà»ÛðÒÈ°›8CÒâä÷O¼ÒHqOás8DY†(=Ñëà¿{ì‹'8¦ /YV±Ñ¶ÜöàçØGžOñ「-ØÅÏ
O²Wø×ðóu–hïNà_,×>ë—fÜÌHõ(T‡?ç5ØÀ÷!ê3Ëcÿ¾Rü×.Ïù©Y¿»Hï€yßLø¿4úî°íò2Ð
˜Ä¼Êµ–ˆî¿ñüù5ò:á»H»#ÃkÈÔ$^5V¬7$²ñü3Gß ¡]èNñˆ-ô®1ÇçqBhÐ<O9ÂFï(š«Ã0µ†áEöq
Qãx¡\rô•ïwl¯¼ëbá<]ÚʯÇÿùCNÊEH‘¥yPˆÝ-ƒùÕd•(žMÆpU•G§HGø:幟!Å'ð|_àÕ6^=Æ
有沒有人見過這個?我不知道我做錯了什麼,我之前使用過這個方法來進行API調用。
更新 - 感謝託尼評論,我可以得到該文件下載
$response = New-Object System.Net.WebClient
$etag = $response.DownloadFile($URI,$file)
但是我怎麼弄的eTag?我正試圖將下載的etag與call etag進行比較。如果有不同,請下載並解壓縮。
「PK」開頭提示壓縮(zip)輸出。你需要解壓縮它。這不可能從一個字符串,所以使用'DownloadData'或'DownloadFile'來代替。這裏是一個有用的「魔法標記」列表:https://en.wikipedia.org/wiki/List_of_file_signatures – TToni
@Toni謝謝,我需要能夠下載該文件,以幫助通過一點幫助解決問題從 - [Technet](https://social.technet.microsoft.com/Forums/scriptcenter/en-US/00bd2230-ec02-4a91-940c-3ad252220a08/using-powershell-to-download-multiple-video-from- a-website?forum = winserverpowershell) –