httpie를 사용하여 http PUT을 사용하여 파일을 업로드하는 방법은 무엇입니까?

httpie를 사용하여 http PUT을 사용하여 파일을 업로드하는 방법은 무엇입니까?

일부 웹 서버 테스트의 경우 다음과 같이 파일 업로드에 컬을 사용하고 있습니다.

$ 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

또한보십시오:

관련 정보