Programing

cURL을 사용하여 파일 내용을 본문 엔터티로 보내는 방법

crosscheck 2020. 5. 23. 10:16
반응형

cURL을 사용하여 파일 내용을 본문 엔터티로 보내는 방법


cURL 명령 줄 유틸리티를 사용하여 웹 서비스에 HTTP POST를 보냅니다. 파일의 내용을 POST의 본문 엔터티로 포함하고 싶습니다. 나는 -d </path/to/filename>유형 정보 --data </path/to/filename> --data-urlencode </path/to/filename>등의 다른 변형을 사용하려고 시도했습니다 ... 파일은 항상 첨부되어 있습니다. 나는 신체 단체로서 필요합니다.


@filename구문을 찾고 있다고 생각 합니다. 예 :

줄 바꾸기

curl --data "@/path/to/filename" http://...

새로운 줄을 유지

curl --data-binary "@/path/to/filename" http://...

=====

curl은 파일에서 모든 줄 바꿈을 제거합니다. 줄 바꿈이 그대로있는 파일을 보내려면 --data-binary--data 대신 사용하십시오 .


나는 질문에 대한 답을 알고 있지만 내 경우에는 텍스트 파일의 내용을 Slack Webhook api 로 보내려고 했는데 어떤 이유로 든 위의 답변이 작동하지 않았습니다. 어쨌든, 이것이 마침내 나를 위해 트릭을 한 것입니다.

curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX

참고 URL : https://stackoverflow.com/questions/15912924/how-to-send-file-contents-as-body-entity-using-curl

반응형