2012-12-18 2 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을하는 것에 대해 묻는 간단한 질문. 연결된 '속임수'는 결과를 파일에 쓰고 게시물을 작성하는 것에 대해 묻습니다. – AakashM

+0

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

+0

관련 내용 : [PowerShell curl of curl] (https://superuser.com/q/344927/87805). – kenorb

답변

19

Wget을 다운로드 할 필요가 없습니다. .NET Framework는 내장 웹 클라이언트 클래스가

PowerShell을 v3에서
$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

는, 예를 들면 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 응답을보고 싶다면 헤더를 포함하는'RawContent' 속성을 출력 할 수 있지만'Invoke-WebRequest'의 출력 객체가 많이 남아 있습니다. 그렇지 않으면'Invoke-RestMethod'가 더 나은 결과를 보입니다. – Guss