2012-12-18 5 views
23

可能性の重複:
Get $webclient.downloadstring to write to text file in Powershell
Powershell http post with .cer for authPowerShellでHTTP GETを使用するには?

私は私のHTTP GETリクエストからSMSを送信する機能を提供SMSシステムがあります。

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

IをPowerShellのテキストに詳細を入力して、このURLにサーフしてみたいです。どうしたらいいですか?

+10

これがあると思われるように私は再度開くにノミネートしました*ちょうど 'GET'をすることについて尋ねる簡単な質問。リンクされた 'dupes'は、結果をファイルに書き込んだり、投稿したりすることを尋ねます。 – AakashM

+0

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

+0

関連する[curlのPowerShellに相当](https://superuser.com/q/344927/87805)。 – kenorb

答えて

19

Wgetのダウンロードは不要です。 .NET Frameworkは、内蔵のWebクライアントのクラスがあり

$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()を呼び出す前に 'Add-Type -AssemblyName System.Web'を実行しなければならなかった。 – Vimes

36

のPowerShell v3では、Invoke-WebRequestInvoke-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'の出力オブジェクトが必要になりますが、ヘッダーを含む' RawContent'プロパティを出力できます。さもなければ、 'Invoke-RestMethod'がより良い出力を出します。 – Guss

関連する問題