Конвертиране на 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 е вграденият cmdlet на 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 за извличане на данни (scraping) или диагностика. За подобен .NET подход вижте curl към C#.
Как да се справя с автентикацията в PowerShell?
За Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. За Basic автентикация използвайте -Credential (Get-Credential) или -Authentication Basic (PowerShell 6+). PowerShell сигурно обработва идентификационните данни със SecureString. curl2code конвертира флаговете за автентикация в параметри на cmdlet на PowerShell.
Как да изпратя multipart form данни в 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: и двата cmdlet-а хвърлят 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 и в двата cmdlet-а. В 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 токени както от -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.