답변:
wget으로 만 수행 할 수 있습니다. 최소한 버전 1.13.4 이상일 수도 있습니다. --post-file 옵션을 사용하면 포스트 데이터 파일이 올바르게 구성되어있는 한 보낼 파일을 지정할 수 있습니다.
나는 또한 바이너리 파일로 이것을 테스트했으며 예상대로 작동합니다. 파일을 base64로 인코딩 할 필요는 없지만 파일에 경계가 없는지 확인해야합니다.
이 작업을 수행하는 데 필요한 최소 명령은 다음과 같습니다.
wget --header="Content-type: multipart/form-data boundary=FILEUPLOAD" --post-file postfile http://domain/uploadform
포스트 데이터 파일에는 다음과 같은 내용이 포함되어야합니다.
--FILEUPLOAD
Content-Disposition: form-data; name="comment"
I love uploading files!
--FILEUPLOAD
Content-Disposition: form-data; name="uploadFile"; filename="myfile.bin";
Content-Type: application/octet-stream
Media Type: application/octet-stream
Give me some automated file upload action!
--FILEUPLOAD--
여기에서 많은 세부 사항이 중요합니다.
일부 통제 된 환경에는 문제가 없지만 말리지 않기 때문에 이것이 누군가를 도울 수 있다고 생각했습니다.
cat pic.jpg >> postdata
하고 메모장 ++에로드하고 마지막 경계 + '-'+ EOL을 추가했습니다. W3C 참조