2012-12-18 25 views
23

संभव डुप्लिकेट:
Get $webclient.downloadstring to write to text file in Powershell
Powershell http post with .cer for authPowerShell में HTTP GET का उपयोग कैसे करें?

मैं एक एसएमएस प्रणाली है कि मुझे एक HTTP GET अनुरोध से एसएमएस भेजने के लिए क्षमता प्रदान करते हैं:

http://smsserver/SNSManager/msgSend.jsp?uid&to=smartsms:*+001XXXXXX&msg="text of the message"&encoding=windows-1255 

मैं PowerShell से टेक्स्ट में विवरण दर्ज करना चाहते हैं और बस इस यूआरएल पर सर्फ करें। मैं यह कैसे कर सकता हूं?

+10

मैं के रूप में इस प्रतीत हो रहा है फिर से खोलना के लिए नामित किया गया है सबसे आसान सवाल है कि * बस * एक 'प्राप्त' करने के बारे में पूछता है; लिंक किए गए 'डुप्ले' एक फ़ाइल को परिणाम लिखने और एक पोस्ट करने के बारे में पूछते हैं। – AakashM

+0

'Invoke-WebRequest -UseBasicParsing -Uri http: // example.com/' – kenorb

+0

संबंधित: [पावरशेल कर्ल के बराबर] (https://superuser.com/q/344927/87805)। – kenorb

उत्तर

19

Wget डाउनलोड करना आवश्यक नहीं है; .NET फ्रेमवर्क वेब ग्राहक में बनाया वर्ग हैं

$wc = New-Object system.Net.WebClient; 
$sms = Read-Host "Enter SMS text"; 
$sms = [System.Web.HttpUtility]::UrlEncode($sms); 
$smsResult = $wc.downloadString("http://smsserver/SNSManager/msgSend.jsp?uid&to=smartsms:*+001XXXXXX&msg=$sms&encoding=windows-1255") 
+4

यह मेरे लिए काम करता था, लेकिन मुझे urlEncode() को कॉल करने से पहले 'एड-टाइप -AssemblyName System.Web' चलाया जाना था। – Vimes

36

PowerShell v3 में, Invoke-WebRequest और Invoke-RestMethod पर एक नजर है जैसे:।

$msg = Read-Host -Prompt "Enter message" 
$encmsg = [System.Web.HttpUtility]::UrlEncode($msg) 
Invoke-WebRequest -Uri "http://smsserver/SNSManager/msgSend.jsp?uid&to=smartsms:*+001XXXXXX&msg=$encmsg&encoding=windows-1255" 
+4

यदि आप HTTP प्रतिक्रिया को देखना चाहते हैं, तो 'Invoke-WebRequest' से आउटपुट ऑब्जेक्ट वांछित होने के लिए बहुत अधिक छोड़ देता है, हालांकि आप' रॉकंटेंट 'प्रॉपर्टी को आउटपुट कर सकते हैं जिसमें हेडर शामिल हैं। अन्यथा 'Invoke-RestMethod' में बेहतर आउटपुट है। – Guss

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^