Curl을 통해 파일에 지정된 데이터로 POST 요청 보내기
커맨드 라인에서 Curl을 통해 POST 요청을해야합니다. 이 요청에 대한 데이터는 파일에 있습니다. PUT을 통해이 --upload-file
옵션 으로 수행 할 수 있음을 알고 있습니다.
curl host:port/post-file -H "Content-Type: text/xml" --data "contents_of_file"
당신은 --data-binary
논쟁을 찾고 있습니다 :
curl -i -X POST host:port/post-file \
-H "Content-Type: text/xml" \
--data-binary "@path/to/file"
위의 예 -i
에서 모든 헤더를 인쇄하여 진행 상황을 확인 -X POST
하고 이것이 게시물임을 명시 적으로 만듭니다. 와이어의 동작을 변경하지 않고 두 가지를 모두 안전하게 생략 할 수 있습니다. 파일 경로는 @
기호 앞에 와야 하므로 curl
파일에서 읽어야합니다.
커맨드 라인에서 Curl을 통해 POST 요청을해야합니다. 이 요청에 대한 데이터는 파일에 있습니다.
당신이 할 필요가있을 것이다 --data
A를 인수 시작 @
:
curl -H "Content-Type: text/xml" --data "@path_of_file" host:port/post-file-path
예를 들어, 파일에 데이터 stuff.xml
가 있으면 다음과 같은 작업을 수행합니다.
curl -H "Content-Type: text/xml" --data "@stuff.xml" host:port/post-file-path
stuff.xml
파일 이름이 파일에 대한 상대 또는 전체 경로로 대체 될 수있다 @../xml/stuff.xml
, @/var/tmp/stuff.xml
...
매개 변수 이름을 지정해야하는 양식 데이터를 사용하여 파일을 업로드하는 경우 다음을 사용할 수 있습니다.
curl -X POST -i -F parametername=@filename host:port/xxx
대부분의 답변은 여기에서 완벽하지만 내 특정 문제로 여기에 도착했을 때 POST 메서드를 사용하여 이진 파일 (XLSX 스프레드 시트)을 업로드해야합니다. 한 가지 누락 된 것이 있습니다 . 즉 일반적으로로드하는 파일이 아니라 더 폼 데이터 요소 , 주석 등의 파일이나 태그는 파일로 내 사건이었다으로 등. 따라서 여기를 사용 사례로 여기에 추가하여 다른 사람들을 도울 수 있습니다.
curl -POST -F comment=mycomment -F file_type=XLSX -F file_data=@/your/path/to/file.XLSX http://yourhost.example.com/api/example_url
참고 URL : https://stackoverflow.com/questions/6408904/send-post-request-with-data-specified-in-file-via-curl
'Programing' 카테고리의 다른 글
문자열에서 임의의 네이티브 명령을 어떻게 실행합니까? (0) | 2020.05.12 |
---|---|
Python에서 Requests 라이브러리를 사용하여 "User-agent"보내기 (0) | 2020.05.12 |
여러 줄로 된 flexbox 레이아웃에서 줄 바꿈을 지정하는 방법은 무엇입니까? (0) | 2020.05.12 |
백 슬래시로 쉘 명령을 시작하는 이유는 무엇입니까? (0) | 2020.05.12 |
PHP의 비동기 셸 실행 (0) | 2020.05.12 |