PowerShell 사용하기
Powershell은 웹브라우저가 아니기 때문에 웹브라우저처럼 html을 보기 좋은 형태로 출력해주지 않지만 html을 text 형태로 바로 확인이 가능하다. 웹페이지가 적절하게 응답하는지, 오류는 없는지 확인하고 싶을 때 유용하게 사용이 가능하다.
(Linux의 curl과 같은 기능을 제공)
Invoke-WebRequest
Powershell 3.0부터 Invoke-WebRequest라는 cmdlet이 도입되었다.
Powershell에서 PSVersionTable을 입력해보면 해당 컴퓨터의 Powershell 버전을 확인할 수 있다.
$PSVersionTable
버전 3.0 이상이 설치된 컴퓨터라면 Invoke-WebRequest 명령어를 사용하여 http 혹은 https 요청을 발송할 수 있다.
간단하게 Invoke-WebRequest를 이용하여 "구글" 초기화면을 요청해 보도록 하자.
아래와 같이 uri 옵션에 요청하고자 하는 구글 주소를 넣고 실행해보면 StatusCode, Content, Header, Content 길이, Links 등과 같은 정보를 확인할 수 있다.
Invoke-WebRequest -Uri https://www.google.com
StatusCode를 이용하면 특정 URL의 웹페이지 상태를 확인할 수 있다.
예를 들어 관리하는 웹페이지의 StatusCode가 200이면 정상적으로 서비스하고 있음을 알 수 있고, 404, 500등의 오류가 발생하면 그에 따라 적절히 관리할 수 있을 것이다.
$URL = "https://www.google.com"; (Invoke-WebRequest -Uri $URL).StatusCode;
이제 구글에게 Get 방식을 사용해서 'powershell'이라는 검색어를 요청해 보자.
'powershell'이라는 검색어는 'https://www.google.com/search' 페이지에 'q' 파라미터에 값을 전달해야 한다.
$URL = "https://www.google.com/search"; $Param = @{q='powershell'}; Invoke-WebRequest -Uri $URL -Body $Param -Method GET;
이 결과는 구글에서 검색어로 'powershell'을 검색한 결과 페이지와 같다.
Post 방식으로 요청 보내기
Get 방식이 아닌 Post 방식으로 변수를 전달해야 하려면 -Method 옵션에 'POST'를 입력하면 된다.
Invoke-WebRequest -Method POST "http://www.YOUR_SIRE.co.kr/test" -Body "{}" -ContentType "application/json;charset=utf-8";
참고 사이트
'프로그래밍' 카테고리의 다른 글
/**/* 은 무슨 뜻일까? Glob 패턴에 대해서 알아보자 (1) | 2024.10.23 |
---|---|
PowerShell 에러 Invoke-WebRequest : 기본 연결이 닫혔습니다. SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다. (0) | 2024.09.27 |
DTO란? DTO에 대해서 알아보자 (1) | 2024.09.11 |
유니티(Unity) TextMeshPro input에서 입력받은 text가 뭔가 이상함 (1) | 2024.09.11 |
SSL 인증서의 유효기간은 왜 1년인가? (1) | 2024.09.10 |
댓글