Конвертувати curl у PowerShell
Конвертуйте команди curl у код PowerShell за допомогою Invoke-RestMethod. curl2code працює повністю у вашому браузері через WebAssembly — ваші дані залишаються приватними. Для C# спробуйте наш конвертер curl у C#. Для Python дивіться curl у Python. Нижче наведено готові до використання приклади на PowerShell.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.