24. 컬 ¶
이 방법은 curl 명령에서 http 요청을 생성하는 것입니다. curl에 대해 더 알고 싶다면 Curl 문서 를 클릭하세요 .
24.1 (a) 명령을 입력하는 방법 ¶
cURL 명령에서 테스트 계획 생성
- cURL에서 가져오기를 생성하려면 도구 메뉴를 열고 cURL 에서 가져오기를 클릭합니다 .
- curl 명령줄을 입력하는 방법에는 두 가지가 있습니다. 첫째, 수동으로 입력할 수 있습니다. 두 번째로 curl 명령줄이 포함된 파일을 가져올 수 있습니다. 이 도구는 동시에 여러 curl 명령줄 입력을 지원합니다.
- 그런 다음 테스트 계획 생성 버튼을 클릭하면 새 HTTP 샘플이 테스트 계획에 추가됩니다.
24.2 지원되는 컬 옵션 ¶
- -H , --header <헤더>
- 웹 페이지를 가져올 때 사용할 추가 헤더입니다.
- -X , --request <명령>
- HTTP 서버와 통신할 때 사용할 사용자 지정 요청 방법을 지정합니다.
- --압축
- curl이 지원하는 알고리즘 중 하나를 사용하여 압축된 응답을 요청하고 압축되지 않은 문서를 반환합니다.
- -A , --user-agent <에이전트 문자열>
- HTTP 서버에 보낼 사용자 에이전트 문자열을 지정합니다.
- -b , --cookie <이름=데이터>
- 데이터를 쿠키로 HTTP 서버에 전달합니다.
- -d 와 친구들
-
POST 요청을 통해 데이터 보내기
POST 요청에서 지정된 데이터를 HTTP 서버로 보냅니다. 이 옵션이 동일한 명령줄에서 두 번 이상 사용되면 지정된 데이터 조각이 ' & ' 구분 문자 와 함께 병합됩니다 . 따라서 ' -d name=daniel -d skill=lousy '를 사용하면 ' name=daniel&skill=lousy ' 처럼 보이는 POST 청크가 생성됩니다 .
- -d , --data <데이터> , --data-ascii <데이터>
- @ 를 사용 하여 파일 업로드
- --data-raw <데이터> gt;
- --data-raw <데이터>
- 이것은 추가 처리 없이 지정된 대로 정확하게 데이터를 게시합니다. @ 문자로 데이터를 시작하면 나머지는 파일 이름이어야 합니다.
- --data-raw <데이터> 타>
- 이것은 URL 인코딩을 수행한다는 점을 제외하고 다른 --data 옵션과 유사하게 데이터를 게시합니다 .
- --data-raw <데이터>
- 이것은 --data 와 유사하지만 @ 문자 에 대한 특별한 해석 없이 데이터를 게시합니다.
- -F 와 친구들
-
이렇게 하면 사용자가 제출 버튼을 눌렀을 때 채워진 양식을 컬이 에뮬레이트할 수 있습니다.
- -F , --form <이름=내용>
- @ 를 사용 하여 파일 업로드
- --form-string <이름=내용>
- -u , --user <사용자:비밀번호>
- 서버 인증에 사용할 사용자와 비밀번호를 지정합니다.
- --기본 , --다이제스트
- curl에 HTTP 인증을 사용하도록 지시합니다.
- --cacert 와 친구들
-
HTTPS로 파일을 가져올 때 지정된 클라이언트 인증서 파일을 사용하도록 curl에 지시
- --cacert <CA 인증서>
- --capath <CA 인증서 디렉토리>
- --ciphers <암호화 목록>
- --인증서 상태
- --cert-type <유형>
- -G , --get
- 게시물 데이터를 URL에 넣고 get을 사용하여 게시물을 교체합니다.
- --유지하지 않음
- TCP 연결에서 연결 유지 메시지 사용을 비활성화합니다.
- -e , --참조자 <URL>
- 참조 페이지 정보를 HTTP 서버로 보냅니다 .
- -L , -- 위치
- 서버가 요청된 페이지가 다른 위치로 이동했다고 보고하는 경우 이 옵션은 curl이 새 위치에서 요청을 다시 실행하도록 합니다.
- -i , -- 포함
- 출력에 HTTP 헤더를 포함합니다.
- --connect-timeout <초>
- 서버에 연결할 수 있는 최대 시간(초)입니다.
- --keepalive-time <초>
- 이 옵션은 연결 유지 프로브를 보내기 전에 연결이 유휴 상태를 유지해야 하는 시간과 개별 연결 유지 프로브 사이의 시간을 설정합니다.
- -m , --max-time <초>
- 전체 작업에 소요되는 최대 시간(초)입니다.
- -x , --proxy <[프로토콜://][사용자:비밀번호@]프록시호스트[:포트]>
- 지정된 HTTP 프록시를 사용합니다. 포트 번호를 지정하지 않으면 포트 1080 으로 간주됩니다 .
- -U , --proxy-user <사용자:비밀번호>
- 프록시 인증에 사용할 사용자 및 비밀번호를 지정합니다.
- -k , --안전하지 않음
- 이 옵션은 curl이 안전하지 않은 SSL 연결 및 전송을 수행하도록 명시적으로 허용합니다.
- --날것의
- 사용하면 콘텐츠 또는 전송 인코딩의 모든 내부 HTTP 디코딩을 비활성화하고 대신 변경되지 않은 원시 상태로 전달합니다.
- - 나, -- 머리
- HTTP 헤더만 가져옵니다. HTTP 서버 는 문서의 헤더만 가져오는 데 사용하는 HEAD 메서드를 제공합니다.
- --인터페이스 <이름>
- 지정된 인터페이스를 사용하여 작업을 수행합니다. 인터페이스 이름, IP 주소 또는 호스트 이름을 입력할 수 있습니다.
- --proxy-ntlm / --proxy-협상
- 지정된 프록시와 통신할 때 HTTP BASIC/NTLM/Digest 인증을 사용하도록 curl에 지시합니다.
- --dns-servers <주소>
- DOH를 통해 호스트 이름을 확인합니다.
- --resolve <호스트:포트:주소>
- 특정 호스트 및 포트 쌍에 대한 사용자 지정 주소를 제공합니다.
- --limit-rate <속도>
- curl에서 사용할 최대 전송 속도를 지정합니다.
- --max-redirs <숫자>
- 따를 수 있는 최대 리디렉션 수를 설정합니다.
- --noproxy <프록시 목록 없음>
- 프록시가 지정된 경우 프록시를 사용하지 않는 쉼표로 구분된 호스트 목록입니다.
24.3 경고 ¶
입력한 명령이 무시되거나 경고 내용이 포함된 경우 HTTP 요청의 주석 섹션에 경고를 표시합니다.
24.4 예제 ¶
쿠키 사용
curl -X POST "https://example.invalid" -b 'username=Tom;password=123456'
데이터 사용
curl -X POST "https://example.invalid" --data 'fname=a&lname=b'
사용 양식
curl -X POST "https://example.invalid" -F 'lname=a' -F 'fname=b' -F 'c=@C:\Test\test.txt'
프록시 사용
컬 'https://example.invalid/' -x 'https://aa:bb@proxy.invalid:8042'
사용 권한
curl "https://example.invalid" -u 'user:passwd' --basic
DNS 사용
curl "https://example.invalid" --dns-servers '0.0.0.0,1.1.1.1'