web-dev-qa-db-fra.com

Télécharger un fichier avec Powershell

Le document Google Doc suivant est exporté au format CSV, puis téléchargé automatiquement à l'aide d'un navigateur Web standard: https://docs.google.com/spreadsheets/d/1wDD_Xm8IQYuYNefv9cOJ_7afTLImHgYA05pfN3qY63E/export?format=csv

J'essaie de télécharger ce fichier avec Powershell sans succès. J'ai essayé d'utiliser Invoke-Webrequest, Start-BitsTransfer et un objet webrequest, mais sans succès.

MODIFIÉ: URL modifiée.

11
JustAGuy

Invoke-WebRequest est livré avec un paramètre pour stocker son résultat dans un fichier: -OutFile

Invoke-WebRequest URL -OutFile c:\file.ext

Si vous avez besoin d'une autorisation avant de pouvoir envoyer une demande comme celle-ci:

Invoke-WebRequest URL /* whatever is neccesary to login */ -SessionVariable MySession
Invoke-WebRequest URL -WebSession $MySession

Pour déterminer la disposition du formulaire où la connexion a lieu, vous pouvez utiliser l'objet de retour Invoke-WebRequests. Il va collecter des informations sur les formulaires et les champs sur le code HTML (Windows uniquement). Le kilométrage de connexion peut varier avec des choses comme l'activation ou non de deux facteurs. Probablement, vous pouvez créer un lien secret vers votre fichier qui ne nécessite pas d’autorisation ou éventuellement Google vous permet de créer un jeton d’accès privé, qui peut être envoyé en même temps que votre demande.

28
TGlatzer