इनवोक-वेबरेस्ट, मापदंडों के साथ पोस्ट


198

मैं एक uri को POST करने का प्रयास कर रहा हूं, और पैरामीटर भेज रहा हूं username=me

Invoke-WebRequest -Uri http://example.com/foobar -Method POST

मैं कैसे विधि POST का उपयोग करते हुए पैरामीटर पास करूं?


2
एक ऐसे ही सवाल का जवाब देखिए ।
अंसार विचित्रर्स

जवाबों:


301

अपने मापदंडों को हैश टेबल में रखें और उन्हें इस तरह से पास करें:

$postParams = @{username='me';moredata='qwerty'}
Invoke-WebRequest -Uri http://example.com/foobar -Method POST -Body $postParams

8
मेरे भविष्य के संदर्भ के लिए जितना किसी और की जानकारी है, हैश तालिका भी पारित की जा सकती है, एक-लाइनर-शैली, सीधे -Body पैरामीटर के लिए।
cori

2
$ ProgressPreference = 'SilentlyContinue' को 10. के कारक द्वारा चीजों को गति देने के लिए जोड़ें
andrej

94

कुछ picky वेब सेवाओं के लिए, अनुरोध को JSON और निकाय को JSON स्ट्रिंग होने के लिए सामग्री प्रकार सेट करना होगा। उदाहरण के लिए:

Invoke-WebRequest -UseBasicParsing http://example.com/service -ContentType "application/json" -Method POST -Body "{ 'ItemID':3661515, 'Name':'test'}"

या XML, आदि के लिए बराबर है।


15

यह सिर्फ काम करता है:

$body = @{
 "UserSessionId"="12345678"
 "OptionalEmail"="MyEmail@gmail.com"
} | ConvertTo-Json

$header = @{
 "Accept"="application/json"
 "connectapitoken"="97fe6ab5b1a640909551e36a071ce9ed"
 "Content-Type"="application/json"
} 

Invoke-RestMethod -Uri "http://MyServer/WSVistaWebClient/RESTService.svc/member/search" -Method 'Post' -Body $body -Headers $header | ConvertTo-HTML

3

पीएसटी एपीआई कॉल के लिए JSONशरीर {lastName:"doe"}के रूप में उपयोग करते समय पीएस चर के बिना एकल कमांड :

Invoke-WebRequest -Headers @{"Authorization" = "Bearer N-1234ulmMGhsDsCAEAzmo1tChSsq323sIkk4Zq9"} `
                  -Method POST `
                  -Body (@{"lastName"="doe";}|ConvertTo-Json) `
                  -Uri https://api.dummy.com/getUsers `
                  -ContentType application/json
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.