Converter curl para Swift
Converta comandos curl para código Swift utilizando URLSession. O curl2code é executado inteiramente no seu navegador através de WebAssembly — os seus dados permanecem privados. Para Kotlin (Android), experimente o nosso conversor de curl para Kotlin. Para Objective-C, veja curl para Objective-C. Abaixo encontram-se exemplos de Swift prontos a usar.
Como copiar o curl do seu navegador
- 1
Abrir as DevTools
Prima F12 ou Ctrl+Shift+I para abrir as ferramentas de programador do seu navegador.
- 2
Ir para o separador Network
Clique no separador Network e realize a ação que despoleta o pedido HTTP.
- 3
Copiar como cURL
Clique com o botão direito no pedido → Copy → Copy as cURL. Depois cole-o acima.
Perguntas Frequentes
O que é o Swift URLSession?
URLSession é o cliente HTTP nativo da Apple para iOS, macOS, watchOS e tvOS. Gere tarefas de dados, downloads, uploads, WebSocket e transferências em segundo plano. Não é necessária a instalação de pacotes — faz parte da Foundation. Suporta HTTP/2, cache e gestão de cookies. O curl2code gera código URLSession para todas as conversões Swift.
URLSession vs Alamofire — qual devo usar?
URLSession é nativo e cobre a maioria das necessidades — use-o para evitar dependências de terceiros. Alamofire adiciona conveniência: construtores de pedidos encadeáveis, repetição automática, validação de resposta e uploads multipart. Para projetos pequenos, o URLSession é suficiente. Para abordagens nativas semelhantes, consulte o nosso conversor de curl para Kotlin ou curl para Objective-C.
Como gerir a autenticação em Swift?
Defina o cabeçalho no URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Para autenticação Basic, codifique com Data("\(user):\(pass)".utf8).base64EncodedString(). O curl2code converte automaticamente as flags -u e o cabeçalho Bearer para código Swift.
Como enviar dados de formulário multipart em Swift?
Construa o corpo multipart manualmente: gere uma string de boundary, anexe cada campo/ficheiro com separadores CRLF e defina Content-Type: multipart/form-data; boundary=.... Para multipart mais simples, use o upload(multipartFormData:) do Alamofire. O curl2code gere a conversão da flag -F para URLSession.
Como gerir erros HTTP em Swift?
O URLSession devolve um Error opcional nas conclusões — verifique se é nil. Converta a resposta para HTTPURLResponse e verifique o statusCode. Com async/await (iOS 15+), use try await URLSession.shared.data(for: request) num bloco do/catch para uma gestão de erros limpa.
Como usar async/await com URLSession?
O Swift 5.5+ suporta async/await nativamente: let (data, response) = try await URLSession.shared.data(for: request). Isto substitui as closures de conclusão por código linear. Use Task { } para chamar a partir de contextos síncronos. Para pedidos concorrentes, use async let ou TaskGroup. Para padrões semelhantes, consulte curl para Dart.
Como definir timeouts no Swift URLSession?
Configure no URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (por pedido) e config.timeoutIntervalForResource = 300 (total). Ou defina request.timeoutInterval = 30 em pedidos individuais. Estes mapeiam para as opções --max-time e --connect-timeout do curl.
Como usar um proxy com URLSession?
Defina o proxy no URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Para proxies SOCKS, use as chaves kCFStreamPropertySOCKSProxy. O URLSession também respeita as definições de proxy de todo o sistema configuradas nas definições do macOS/iOS.
Como enviar um pedido POST com um corpo JSON em Swift?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL para Swift usando o curl2code. O código gerado utiliza request.httpBody = try JSONEncoder().encode(data). O curl2code deteta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código URLSession.
Como adicionar autorização com token Bearer em Swift?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e este gera código URLSession com o cabeçalho de autenticação: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). O curl2code deteta tokens Bearer tanto de flags -H "Authorization: Bearer ..." como de --oauth2-bearer. Para Basic auth, utilize -u user:pass.
Como definir o cabeçalho Content-Type em Swift?
O curl2code converte curl -H "Content-Type: application/json" URL para código URLSession com o cabeçalho correto: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Para dados -d, o curl assume por defeito application/x-www-form-urlencoded; para envios de formulários -F, utiliza multipart/form-data. O curl2code mapeia cada um para a API URLSession correta.
Links Úteis
Guias do curl
Códigos de erro do curl
Consulte qualquer código de saída do curl — causas, correções e dicas de depuração.
Transferir ficheiros com curl
Guarde ficheiros com -o, -O, siga redirecionamentos, retome transferências e mais.
SSL, TLS e proxy
Configure certificados, versões TLS, proxies HTTP/SOCKS e DNS personalizado.