curl을 Perl(으)로 변환
LWP::UserAgent를 사용하여 curl 명령을 Perl 코드로 변환하세요. curl2code는 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 비공개로 유지됩니다. Python의 경우 curl to Python 변환기를 사용해 보세요. Ruby의 경우 curl to Ruby를 참조하세요. 아래는 바로 사용 가능한 Perl 예제입니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
Perl LWP란 무엇인가요?
LWP(Library for WWW in Perl)는 Perl의 표준 HTTP 클라이언트 라이브러리입니다. LWP::UserAgent 모듈은 쿠키 처리, 리다이렉트, 프록시 지원 및 SSL을 갖춘 풀 기능 클라이언트를 제공합니다. cpan LWP 또는 apt install libwww-perl로 설치합니다. curl2code는 Perl 변환의 기본값으로 LWP를 사용합니다.
LWP vs HTTP::Tiny vs Mojo::UserAgent — 어떤 것을 사용해야 하나요?
LWP는 기능이 풍부하고 전통적인 선택입니다. HTTP::Tiny는 코어 모듈(설치 불필요)로 간단한 요청에 적합합니다. Mojo::UserAgent는 비동기 지원 및 WebSocket을 갖춘 현대적인 라이브러리입니다. 빠른 스크립트에는 HTTP::Tiny를, 전체 기능이 필요한 경우 LWP를 사용하세요. 유사한 스크립팅 언어는 curl to Python 또는 curl to Ruby를 참조하세요.
Perl에서 인증을 처리하는 방법은 무엇인가요?
LWP 사용 시: $ua->default_header('Authorization' => 'Bearer token'). Basic 인증의 경우: $ua->credentials('host:port', 'realm', 'user', 'pass'). 또는 HTTP::Request 객체에서 요청별로 헤더를 설정합니다. curl2code는 -u 및 -H 'Authorization' 플래그를 Perl 구문으로 변환합니다.
Perl에서 멀티파트 폼 데이터를 보내는 방법은 무엇인가요?
HTTP::Request::Common을 사용합니다: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). LWP는 멀티파트 경계를 자동으로 처리합니다. 추가 필드의 경우 Content 배열에 키-값 쌍을 추가합니다. curl2code는 -F 플래그를 이 형식으로 변환합니다.
Perl에서 HTTP 오류를 처리하는 방법은 무엇인가요?
각 요청 후 $response->is_success를 확인하세요. 오류 상세 정보의 경우: $response->status_line이 상태 코드와 메시지를 반환합니다. LWP는 오류 발생 시에도 응답 객체를 반환하므로 $response->code로 HTTP 상태를 확인하세요. 오류 보고를 위해 die 또는 warn을 사용합니다.
Perl에서 JSON을 파싱하는 방법은 무엇인가요?
JSON 모듈을 사용합니다: my $data = decode_json($response->content). 인코딩의 경우: my $json = encode_json($hashref). cpan JSON으로 설치합니다. Perl 5.14+의 경우 JSON::PP(코어 모듈, 설치 불필요)를 고려하세요. 더 많은 JSON 중심 도구는 curl to Go를 참조하세요.
Perl LWP에서 타임아웃을 설정하는 방법은 무엇인가요?
UserAgent에서 설정합니다: my $ua = LWP::UserAgent->new(timeout => 30). 이는 전체 요청 타임아웃을 초 단위로 설정합니다. 연결 타임아웃의 경우 IO::Socket::SSL 옵션을 사용합니다. LWP 재시도는 내장되어 있지 않으므로 수동으로 구현하거나 LWP::UserAgent::Determined를 사용하세요.
Perl에서 프록시를 사용하는 방법은 무엇인가요?
UserAgent에서 설정합니다: $ua->proxy(['http', 'https'], 'http://proxy:8080'). 또는 환경 변수를 사용합니다: $ua->env_proxy가 HTTP_PROXY 및 HTTPS_PROXY를 읽습니다. 프록시 제외의 경우: $ua->no_proxy('localhost', '.internal'). curl2code는 -x 플래그를 LWP 프록시 호출로 변환합니다.
Perl에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL과 같은 curl POST 명령어를 Perl로 변환하세요. 생성된 코드는 $ua->post($url, Content_Type => 'application/json', Content => encode_json($data))를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 LWP::UserAgent 코드에 적절한 Content-Type 헤더를 설정합니다.
Perl에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 $req->header('Authorization' => 'Bearer YOUR_TOKEN')와 같은 인증 헤더가 포함된 LWP::UserAgent 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
Perl에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 LWP::UserAgent 코드로 변환합니다: $req->header('Content-Type' => 'application/json'). -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 LWP::UserAgent API에 매핑합니다.