J'ai donc décidé de commencer à utiliser PowerShell plutôt que l'invite de commande. Et je veux courir curl
. Une sortie très différente puis découvrez que curl
est un alias de Invoke-WebRequest
dans PowerShell.
En utilisant PowerShell curl
de la même manière que réel curl
, une partie seulement du contenu est affichée.
J'ai vu que je pouvais mettre la sortie de PowerShell curl
dans une variable, puis utiliser $variable.Content
pour afficher tout le contenu, mais cela semble un travail supplémentaire par rapport à la réalité curl
.
Existe-t-il une option permettant d'afficher tout le contenu directement? Je ne peux pas en voir un dans l'aide.
Contrairement à curl
, l'utilitaire de ligne de commande Invoke-WebRequest
renvoie un objet avec diverses propriétés dont le contenu du document demandé n'est qu'un. Vous pouvez obtenir le contenu dans une seule déclaration en développant la propriété comme suit:
Invoke-WebRequest 'http://www.example.org/' | Select-Object -Expand Content
ou en obtenant la valeur de la propriété par notation par points comme ceci:
(Invoke-WebRequest 'http://www.example.org/').Content
Sinon, vous pouvez utiliser le port Windows de curl
:
& curl.exe 'http://www.example.org/'
Appelez le programme avec son extension pour le distinguer de l'alias curl
pour Invoke-WebRequest
.
Quelque chose comme ça?
$res=Invoke-WebRequest "https://www.google.fr/"
#for look html of body
$res.ParsedHtml.body.innerHTML
#for look text of body
$res.ParsedHtml.body.innerText
Eh bien, si vous êtes dérangé par la dactylographie supplémentaire, c’est le moyen le plus rapide d’y parvenir (enfin, au moins je peux penser à):
(iwr google.tt).content