web-dev-qa-db-fra.com

Afficher tout le contenu avec Invoke-WebRequest

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.

16
John

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.

27
Ansgar Wiechers

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
1
Esperento57

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
0
4c74356b41