curl을 PowerShell(으)로 변환
Invoke-RestMethod를 사용하여 curl 명령을 PowerShell 코드로 변환하세요. curl2code는 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 비공개로 유지됩니다. C#의 경우 curl to C# 변환기를 사용해 보세요. Python의 경우 curl to Python을 참조하세요. 아래는 바로 사용 가능한 PowerShell 예제입니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
PowerShell Invoke-RestMethod란 무엇인가요?
Invoke-RestMethod는 자동 JSON/XML 파싱 기능을 갖춘 PowerShell의 내장 HTTP 요청 cmdlet입니다. 수동 역직렬화 없이 파싱된 객체를 직접 반환합니다. PowerShell 3.0 이상 및 PowerShell Core에서 사용할 수 있습니다. curl2code는 원시 응답을 반환하는 Invoke-WebRequest도 지원합니다.
Invoke-RestMethod vs Invoke-WebRequest — 어떤 것을 사용해야 하나요?
Invoke-RestMethod는 JSON/XML 응답을 PowerShell 객체로 자동 파싱하므로 API 작업에 이상적입니다. Invoke-WebRequest는 헤더, 상태 코드, 원시 콘텐츠를 포함한 전체 응답을 반환하므로 디버깅이나 비 JSON 응답에 더 적합합니다. API에는 RestMethod를, 스크래핑이나 진단에는 WebRequest를 사용하세요. 유사한 .NET 방식은 curl to C#을 참조하세요.
PowerShell에서 인증을 어떻게 처리하나요?
Bearer 인증의 경우: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. Basic 인증의 경우 -Credential (Get-Credential) 또는 -Authentication Basic(PowerShell 6 이상)을 사용하세요. PowerShell은 SecureString으로 자격 증명을 안전하게 처리합니다. curl2code는 인증 플래그를 PowerShell cmdlet 매개변수로 변환합니다.
PowerShell에서 multipart form data를 어떻게 전송하나요?
PowerShell 6 이상은 multipart 업로드를 위해 -Form @{ file = Get-Item "doc.pdf"; desc = "My file" }를 지원합니다. Windows PowerShell 5.1에서는 multipart 본문을 수동으로 구성하거나 .NET 클래스(System.Net.Http.MultipartFormDataContent)를 사용해야 합니다. curl2code는 -F 플래그 변환을 처리합니다.
PowerShell에서 HTTP 에러를 어떻게 처리하나요?
try/catch를 사용하세요. 두 cmdlet 모두 2xx가 아닌 응답에 대해 WebException을 던집니다. $_.Exception.Response로 응답에 접근할 수 있습니다. PowerShell 7 이상에서는 -SkipHttpErrorCheck를 사용하여 예외 발생을 방지하고 대신 $response.StatusCode를 수동으로 확인할 수 있습니다.
PowerShell에서 JSON을 어떻게 다루나요?
Invoke-RestMethod는 JSON을 PSObject로 자동 파싱합니다. 수동 변환의 경우: $data = $json | ConvertFrom-Json. JSON을 전송하려면: $body = @{ name = "John" } | ConvertTo-Json. PowerShell의 객체 파이프라인은 필터링 및 변환을 위해 파싱된 API 응답과 자연스럽게 통합됩니다.
PowerShell에서 타임아웃을 어떻게 설정하나요?
두 cmdlet 모두에서 -TimeoutSec 30 매개변수를 사용하세요. PowerShell 7 이상에서는 세밀한 제어를 위해 -ConnectionTimeoutSeconds 및 -OperationTimeoutSeconds를 사용합니다. 재시도의 경우 -MaximumRetryCount 3 및 -RetryIntervalSec 2(PowerShell 7.1 이상)를 사용하세요.
PowerShell에서 프록시를 어떻게 사용하나요?
-Proxy 'http://proxy:8080' 매개변수를 사용하세요. 프록시 인증의 경우: -ProxyCredential (Get-Credential). PowerShell은 Windows의 시스템 전체 프록시 설정을 기본적으로 준수합니다. 우회하려면: -NoProxy(PowerShell 6 이상). curl2code는 -x 플래그를 PowerShell 프록시 매개변수로 변환합니다.
PowerShell에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL과 같은 curl POST 명령어를 PowerShell로 변환하세요. 생성된 코드는 Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 Invoke-RestMethod 코드에 적절한 Content-Type 헤더를 설정합니다.
PowerShell에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }와 같은 인증 헤더가 포함된 Invoke-RestMethod 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
PowerShell에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 Invoke-RestMethod 코드로 변환합니다: -ContentType 'application/json'. -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 Invoke-RestMethod API에 매핑합니다.