Конвертировать 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-аутентификации используйте -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 token в PowerShell?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код Invoke-RestMethod с заголовком авторизации: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }. curl2code распознает Bearer tokens как в флагах -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 сопоставляет каждый вариант с подходящим API Invoke-RestMethod.