![httpie를 사용하여 http PUT을 사용하여 파일을 업로드하는 방법은 무엇입니까?](https://linux55.com/image/118335/httpie%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20http%20PUT%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%97%85%EB%A1%9C%EB%93%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
일부 웹 서버 테스트의 경우 다음과 같이 파일 업로드에 컬을 사용하고 있습니다.
$ curl --silent --digest --user user:pass --upload-file filename http://server/dir/
이제 동일한 기능을 보관하기 위해 httpie를 사용하려고 합니다. 다음과 같은 것을 시도했습니다.
$ http --auth-type digest --auth user:pass PUT http://server/dir/
하지만 업로드할 파일 이름을 전달하는 매개변수를 찾을 수 없습니다. 예를 들어 이것을 시도해보십시오
$ http --auth-type digest --auth user:pass PUT http://server/dir/ A=B
결과적으로 콘텐츠는 {"A": "B"}
http 요청 본문으로 전달되지만 (아마도 바이너리) 파일의 원시 콘텐츠를 요청 본문(예: 컬 사용)으로 전달하고 싶습니다.
httpie를 사용하여 이 작업을 수행할 수 있는 방법이 있습니까?
(저는 httpie 0.9.2를 사용하여 Kubuntu 16.04 호스트에서 테스트했습니다.)
답변1
글쎄, httpie 문서를 파헤쳐보니 원시 본문 데이터를 전달하는 두 가지 방법이 있다는 것을 발견했습니다.
파이프 또는 입력 리디렉션을 통해. httpie는 stdin에서 텍스트 데이터를 읽습니다.
$ cat filename | http --auth-type digest --auth user:pass PUT http://server/dir/filename
또는
$ http --auth-type digest --auth user:pass PUT http://server/dir/filename <filename
또는 @
다음과 같은 매개변수를 사용하십시오.
$ http --auth-type digest --auth user:pass PUT http://server/dir/filename @filename
또한보십시오: