PowerShell에서 curl 명령을 사용하는 방법은 무엇입니까?
사용 중curl명령을 실행하여 Jenkins 작업을 통해 비트 버킷 꺼내기 요청 페이지에 주석을 게시합니다.아래 PowerShell 명령을 사용하여 다음을 실행했습니다.curl명령입니다. 하지만 아래에 언급된 오류를 확인하고 있습니다.누가 이 일을 잘 처리하는 것을 도와줄 수 있습니까?
$CurlArgument="-u xxx@gmail.com:yyyy -X POST https://xxx.bitbucket.org/1.0/repositories/abcd/efg/pull-requests/2229/comments --data content=success"
$CURLEXE='C:\Program Files\Git\mingw64\bin\curl.exe'
& $CURLEXE $CurlArgument
오류 세부 정보:
curl.exe : curl: URL이 지정되지 않았습니다! 라인:3 문자:1& $CULEXE $CurlArgument+ ~~~~~~~~~~~~~~~~~~~~~~~~카테고리정보: 지정되지 않음: (컬: URL이 지정되지 않았습니다!:String) [], 원격 예외Fully Qualified ErrorId: 네이티브 명령 오류 curl: 자세한 내용을 보려면 'curl --help' 또는 'curl --manual'을 사용해 보십시오.
스플래팅을 사용합니다.
$CurlArgument = '-u', 'xxx@gmail.com:yyyy',
'-X', 'POST',
'https://xxx.bitbucket.org/1.0/repositories/abcd/efg/pull-requests/2229/comments',
'--data', 'content=success'
$CURLEXE = 'C:\Program Files\Git\mingw64\bin\curl.exe'
& $CURLEXE @CurlArgument
Powershell 3.0 이상에는 Invoke-WebRequest와 Invoke-Rest 메서드가 모두 있습니다.Curl은 실제로 PoSH에서 Invoke-WebRequest의 별칭입니다.컬보다는 네이티브 파워셸을 사용하는 것이 훨씬 더 적합할 것 같습니다만, 그건 당신에게 달려있습니다 :).
Invoke-WebRequest MSDN 문서는 다음과 같습니다. https://technet.microsoft.com/en-us/library/hh849901.aspx?f=255&MSPPError=-2147217396
Invoke-RestMethod MSDN 문서는 다음과 같습니다. https://technet.microsoft.com/en-us/library/hh849971.aspx?f=255&MSPPError=-2147217396
또는 다음과 같이 스플래팅을 사용하여 curl.exe를 호출할 수도 있습니다.
> curl.exe '-u', 'xxx@gmail.com:yyyy',
'-X', 'POST',
'https://xxx.bitbucket.org/1.0/repositories/abcd/efg/pull-requests/2229/comments',
'--data', 'content=success'
이 명령을 사용하여 iscurl.exe 위치 확인Get-Command curl.exe
다른 옵션은 별칭 curl 명령을 삭제하는 것입니다.Invoke-WebRequest
PowerShell에서 별칭을 보고 삭제하려면 다음과 같이 하십시오.
>Get-Aliases
>Remove-Item alias:curl
그러면 '.exe' 없이 명령만 실행합니다.
> curl '-u', 'xxx@gmail.com:yyyy',
'-X', 'POST',
'https://xxx.bitbucket.org/1.0/repositories/abcd/efg/pull-requests/2229/comments',
'--data', 'content=success'
이것이 도움이 되길 바랍니다.
이제 PowerShell은 기본 별칭을 지원합니다(입력하는 경우).help curl
출력이 아래에 표시됩니다.
NAME
Invoke-WebRequest
SYNTAX
Invoke-WebRequest [-Uri] <uri> [-UseBasicParsing] [-WebSession <WebRequestSession>] [-SessionVariable <string>] [-Credential <pscredential>] [-UseDefaultCredentials] [-CertificateThumbprint <string>] [-Certificate
<X509Certificate>] [-UserAgent <string>] [-DisableKeepAlive] [-TimeoutSec <int>] [-Headers <IDictionary>] [-MaximumRedirection <int>] [-Method {Default | Get | Head | Post | Put | Delete | Trace | Options | Merge | Patch}] [-Proxy
<uri>] [-ProxyCredential <pscredential>] [-ProxyUseDefaultCredentials] [-Body <Object>] [-ContentType <string>] [-TransferEncoding {chunked | compress | deflate | gzip | identity}] [-InFile <string>] [-OutFile <string>] [-PassThru]
[<CommonParameters>]
ALIASES
iwr
wget
curl
REMARKS
Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
-- To download and install Help files for the module that includes this cmdlet, use Update-Help.
-- To view the Help topic for this cmdlet online, type: "Get-Help Invoke-WebRequest -Online" or
go to https://go.microsoft.com/fwlink/?LinkID=217035.
파일을 다운로드하려면 입력할 수 있습니다.
curl -Uri "https://www.example.com/myfile.txt" -OutFile myfile.txt
컬 대신 다음 명령을 사용할 수 있습니다.
(New-Object System.Net.WebClient).DownloadString("http://google.com")
언급URL : https://stackoverflow.com/questions/40105458/how-to-use-the-curl-command-in-powershell
'programing' 카테고리의 다른 글
| 포함된 입력 형식을 얻는 방법은 무엇입니까? (0) | 2023.08.01 |
|---|---|
| RxJS: TakeUntil() Angular 구성 요소의 ngOnDestroy() (0) | 2023.08.01 |
| strcpy() 반환 값 (0) | 2023.08.01 |
| Oracle에서 대/소문자 구분 안 함 (0) | 2023.08.01 |
| fragment를 제거하는 방법, 즉 finish()와 동등한 fragment를 제거하는 방법? (0) | 2023.08.01 |