2012-10-17 10 views

Odpowiedz

14

Można użyć klienta sieciowego .NET z PowerShell.

> $webClient = New-Object System.Net.WebClient 
> $webClient.Headers.add('accept','application/json') 
> $webClient.DownloadString('http://yourURLhere') 
+0

To jest * dużo * bardziej skomplikowane niż uzyskanie obiektu proxy z odpowiednimi metodami i typami. Jeśli po prostu piszę wszystko ręcznie, w tym JSON/XML, to mogę po prostu użyć Fiddlera i zrobić to z nim. – Joey

+0

Zawsze możesz skopiować prośbę Fiddlera do pliku tekstowego i wczytać go z PowerShell, aby zautomatyzować tworzenie nagłówków, w zależności od tego, podejdź do tego. –

+1

To jest odpowiedź na PS3 i poniżej. – davidhigh

60
Invoke-WebRequest http://yourURLhere -Headers @{"accept"="application/json"} 

Wprowadzony w POSH 3.0

+2

Wystąpił błąd, ponieważ 'Accept' jest zarezerwowaną nazwą nagłówka. Zamiast tego skorzystałem z WebClient. – Aaron

+7

To działa w PowerShell, ale tylko w wersji 4 i nowszych. W wersji 3 zgłasza wyjątek. –

0

Jestem zaskoczony, to nie ma pochodzić:

$uri = 'http://...' 

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" 
$headers.Add('Accept','Application/Json') 
$headers.Add('X-My-Header','...') 

$result = Invoke-WebRequest -Uri $uri -Headers $headers 

Dla kompletności, odniesienie do właściwości nagłówków:

https://msdn.microsoft.com/en-us/library/s4ys34ea(v=vs.110).aspx

+0

Cóż, to jest zupełnie inna metoda dostępu do usługi sieciowej. Oczywiście, jest to opcja, ale nie o to chodziło. – Joey

Powiązane problemy