Конвертувати curl у PowerShell

Конвертуйте команди curl у код PowerShell за допомогою Invoke-RestMethod. curl2code працює повністю у вашому браузері через WebAssembly — ваші дані залишаються приватними. Для C# спробуйте наш конвертер curl у C#. Для Python дивіться curl у Python. Нижче наведено готові до використання приклади на PowerShell.

Як скопіювати curl з вашого браузера

  1. 1

    Відкрийте DevTools

    Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.

  2. 2

    Перейдіть на вкладку Network

    Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.

  3. 3

    Скопіюйте як cURL

    Клацніть правою кнопкою миші на запит → CopyCopy as cURL. Потім вставте його вище.

Часті запитання

Що таке PowerShell Invoke-RestMethod?

Invoke-RestMethod — це вбудований командлет PowerShell для виконання HTTP-запитів з автоматичним парсингом JSON/XML. Він повертає вже розпарсені об'єкти — ручна десеріалізація не потрібна. Доступний у PowerShell 3.0+ та PowerShell Core. curl2code також підтримує Invoke-WebRequest, який повертає сиру відповідь.

Invoke-RestMethod проти Invoke-WebRequest — що використовувати?

Invoke-RestMethod автоматично парсить відповіді JSON/XML в об'єкти PowerShell — ідеально для роботи з API. Invoke-WebRequest повертає повну відповідь із заголовками, кодом статусу та сирим вмістом — краще для налагодження та відповідей, що не є JSON. Використовуйте RestMethod для API, WebRequest для скрейпінгу або діагностики. Для схожого підходу в .NET див. curl до C#.

Як обробляти автентифікацію в PowerShell?

Для Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. Для Basic auth використовуйте -Credential (Get-Credential) або -Authentication Basic (PowerShell 6+). PowerShell безпечно обробляє облікові дані за допомогою SecureString. curl2code конвертує прапорці автентифікації в параметри командлета PowerShell.

Як надіслати multipart form data в PowerShell?

PowerShell 6+ підтримує -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } для завантаження multipart. У Windows PowerShell 5.1 формуйте тіло multipart вручну або використовуйте класи .NET (System.Net.Http.MultipartFormDataContent). curl2code обробляє конвертацію прапорця -F.

Як обробляти помилки HTTP в PowerShell?

Використовуйте try/catch: обидва командлети видають WebException для відповідей, відмінних від 2xx. Отримайте доступ до відповіді через $_.Exception.Response. У PowerShell 7+ використовуйте -SkipHttpErrorCheck, щоб запобігти виклику винятку та замість цього перевіряти $response.StatusCode вручну.

Як працювати з JSON у PowerShell?

Invoke-RestMethod автоматично парсить JSON у PSObject. Для ручної конвертації: $data = $json | ConvertFrom-Json. Щоб надіслати JSON: $body = @{ name = "John" } | ConvertTo-Json. Конвеєр об'єктів PowerShell природно інтегрується з розпарсеними відповідями API для фільтрації та трансформації.

Як встановити таймаути в PowerShell?

Використовуйте параметр -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.

Як надіслати POST-запит із тілом JSON у PowerShell?

Конвертуйте команду curl POST, таку як curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, у PowerShell за допомогою curl2code. Згенерований код використовує Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'. curl2code автоматично виявляє прапорці -d/--data із вмістом JSON і встановлює відповідний заголовок Content-Type у коді Invoke-RestMethod.

Як додати авторизацію за допомогою Bearer-токена у PowerShell?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код Invoke-RestMethod із заголовком авторизації: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }. curl2code виявляє Bearer-токени як у прапорцях -H "Authorization: Bearer ...", так і в --oauth2-bearer. Для Basic auth використовуйте -u user:pass.

Як встановити заголовок Content-Type у PowerShell?

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.

Корисні посилання

Посібники з curl

Конвертувати curl в інші мови