Конвертировать 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-аутентификации используйте -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.

Полезные ссылки

Руководства по curl

Конвертировать curl в другие языки