curl을 Dart(으)로 변환
http 패키지를 사용하여 curl 명령을 Dart 코드로 변환하세요. curl2code는 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 비공개로 유지됩니다. Kotlin의 경우 curl to Kotlin 변환기를 사용해 보세요. Swift의 경우 curl to Swift를 참조하세요. 아래는 Flutter를 위한 바로 사용 가능한 Dart 예제입니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
Dart http 패키지란 무엇인가요?
http 패키지는 Dart 및 Flutter에서 권장되는 HTTP 클라이언트입니다. GET, POST, 멀티파트 업로드 및 스트리밍을 위한 간단한 Future 기반 API를 제공합니다. dart pub add http로 설치합니다. 모바일, 웹, 서버 등 모든 Dart 플랫폼에서 작동합니다. curl2code는 Dart 변환의 기본값으로 이를 사용합니다.
http vs dio vs HttpClient — 어떤 것을 사용해야 하나요?
http는 간단하고 가벼워 기본적인 요청에 적합합니다. dio는 인터셉터, FormData, 다운로드 진행률 및 취소 기능을 추가합니다. HttpClient(dart:io)는 저수준이며 내장되어 있지만 코드가 더 장황합니다. 인터셉터가 필요한 Flutter 앱의 경우 dio를 선택하세요. 유사한 모바일 클라이언트는 curl to Kotlin 또는 curl to Swift를 참조하세요.
Dart에서 인증을 처리하는 방법은 무엇인가요?
요청에 헤더를 전달합니다: http.get(url, headers: { "Authorization": "Bearer $token" }). Basic 인증의 경우 base64Encode(utf8.encode("$user:$pass"))로 인코딩합니다. curl2code는 -u 및 -H 'Authorization' 플래그를 적절한 타입의 헤더를 가진 Dart 코드로 변환합니다.
Dart에서 멀티파트 폼 데이터를 보내는 방법은 무엇인가요?
http.MultipartRequest를 사용합니다: 요청을 생성하고, request.fields['key'] = 'value'로 필드를 추가하고, request.files.add(await http.MultipartFile.fromPath('file', path))로 파일을 추가합니다. 그런 다음 request.send()로 보냅니다. curl2code는 -F 플래그를 이 패턴으로 변환합니다.
Dart에서 HTTP 오류를 처리하는 방법은 무엇인가요?
http 패키지는 HTTP 오류 시 예외를 발생시키지 않으므로 response.statusCode를 수동으로 확인하세요. SocketException(네트워크 오류) 및 TimeoutException에 대해 호출을 try/catch로 감쌉니다. 수명이 긴 애플리케이션에서는 적절한 리소스 정리를 위해 http.Client와 함께 close()를 사용하세요.
Dart HTTP에서 async/await를 사용하는 방법은 무엇인가요?
모든 Dart HTTP 메서드는 Future를 반환합니다: final response = await http.get(Uri.parse(url))를 사용하세요. Dart의 async/await는 언어에 내장되어 있습니다. 병렬 요청의 경우 Future.wait([request1, request2])를 사용하세요. 유사한 비동기 패턴은 curl to TypeScript 또는 curl to Swift를 참조하세요.
Dart에서 타임아웃을 설정하는 방법은 무엇인가요?
모든 Future에서 .timeout() 메서드를 사용합니다: http.get(url).timeout(Duration(seconds: 30)). 초과 시 TimeoutException이 발생합니다. 더 세밀한 제어를 위해 http.Client를 생성하고 dart:io의 기본 HttpClient를 통해 connectionTimeout을 구성하세요.
Dart에서 프록시를 사용하는 방법은 무엇인가요?
dart:io의 HttpClient를 사용합니다: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. http 패키지의 경우 구성된 IOClient를 감싸는 커스텀 HttpClient를 생성합니다. Dart는 HTTP_PROXY 및 NO_PROXY 환경 변수도 따릅니다.
Dart에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL과 같은 curl POST 명령어를 Dart로 변환하세요. 생성된 코드는 http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'})를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 http 코드에 적절한 Content-Type 헤더를 설정합니다.
Dart에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 headers: {'Authorization': 'Bearer YOUR_TOKEN'}와 같은 인증 헤더가 포함된 http 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
Dart에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 http 코드로 변환합니다: headers: {'Content-Type': 'application/json'}. -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 http API에 매핑합니다.