Converter curl para Objective-C
Converta comandos curl para código Objective-C usando NSURLSession. O curl2code é executado inteiramente no seu navegador via WebAssembly — seus dados permanecem privados. Para Swift, tente nosso conversor de curl para Swift. Para C, veja curl para C. Abaixo estão exemplos de Objective-C prontos para usar.
Como copiar o curl do seu navegador
- 1
Abra o DevTools
Pressione F12 ou Ctrl+Shift+I para abrir as ferramentas de desenvolvedor do seu navegador.
- 2
Vá para a aba Network
Clique na aba Network e realize a ação que dispara a requisição HTTP.
- 3
Copiar como cURL
Clique com o botão direito na requisição → Copy → Copy as cURL. Depois cole acima.
Perguntas Frequentes
O que é o NSURLSession?
NSURLSession é a API do framework Foundation da Apple para rede HTTP em Objective-C (e Swift). Ele gerencia tarefas de dados, downloads, uploads e transferências em segundo plano. Disponível no iOS 7+, macOS 10.9+. Nenhuma dependência de terceiros é necessária — é a forma padrão de fazer requisições HTTP em plataformas Apple. O curl2code gera código NSURLSession para Objective-C.
NSURLSession vs AFNetworking — qual usar?
NSURLSession é a solução nativa — suficiente para a maioria das necessidades e com zero dependências. AFNetworking foi historicamente popular, mas agora está em modo de manutenção; seu sucessor é o Alamofire (Swift). Para novos projetos em Objective-C, o NSURLSession é recomendado. Para Swift, veja nosso conversor de curl para Swift.
Como lidar com autenticação no Objective-C?
Defina o cabeçalho no NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Para autenticação Basic, codifique as credenciais com NSData e base64EncodedStringWithOptions:. O curl2code converte as flags -u e Bearer para a sintaxe correta do Objective-C.
Como enviar dados de formulário multipart no Objective-C?
Construa o corpo multipart com NSMutableData: anexe strings de boundary, dados de campo e dados de arquivo com separadores CRLF adequados. Defina o Content-Type com o boundary. Isso é manual, mas oferece controle total. O AFNetworking simplifica isso com AFHTTPRequestSerializer.
Como lidar com erros HTTP no Objective-C?
Os completion handlers do NSURLSession fornecem um parâmetro NSError — verifique-o para erros de rede/transporte. Converta a resposta para NSHTTPURLResponse e verifique o statusCode. Use métodos de delegate do NSURLSession para um tratamento de erros mais granular, incluindo desafios de autenticação e redirecionamentos.
Como trabalhar com blocos de completion no NSURLSession?
O NSURLSession usa callbacks baseados em blocos: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Sempre chame [task resume] para iniciar. Para requisições sequenciais, aninhe blocos ou use dispatch groups com dispatch_group_notify.
Como definir timeouts no Objective-C?
Defina no NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 e config.timeoutIntervalForResource = 300. Ou por requisição: request.timeoutInterval = 30. Erros de timeout chegam como NSURLErrorTimedOut no parâmetro de erro. Estes mapeiam para a opção --max-time do curl.
Como usar um proxy com NSURLSession?
Defina connectionProxyDictionary no NSURLSessionConfiguration com chaves como (NSString *)kCFNetworkProxiesHTTPProxy e a porta. O NSURLSession respeita as configurações de proxy de todo o sistema por padrão no macOS e iOS. Para arquivos PAC, configure através das preferências do sistema.
Como enviar uma requisição POST com corpo JSON em Objective-C?
Converta um comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL para Objective-C usando o curl2code. O código gerado usa [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. O curl2code detecta automaticamente as flags -d/--data com conteúdo JSON e define o cabeçalho Content-Type apropriado no código do NSURLSession.
Como adicionar autorização com token Bearer em Objective-C?
Passe curl -H "Authorization: Bearer YOUR_TOKEN" URL para o curl2code e ele gerará o código do NSURLSession com o cabeçalho de autenticação: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. O curl2code detecta tokens Bearer tanto de flags -H "Authorization: Bearer ..." quanto de --oauth2-bearer. Para Basic auth, use -u user:pass.
Como definir o cabeçalho Content-Type em Objective-C?
O curl2code converte curl -H "Content-Type: application/json" URL para o código do NSURLSession com o cabeçalho correto: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. Para dados -d, o curl define por padrão application/x-www-form-urlencoded; para uploads de formulário com -F, ele usa multipart/form-data. O curl2code mapeia cada um para a API correta do NSURLSession.