반응형
http 응답 본문 (json) 만 출력하고 다른 헤더는 출력하지 않도록 curl을 얻는 방법
bash 스크립트에서 curl을 사용하여 아래와 같이 서비스의 응답을 가져옵니다.
response=$(curl -isb -H "Accept: application/json" "http://host:8080/some/resource")
서비스 응답은 json 유형이며 브라우저에서 완벽하게 응답 할 수 있습니다.
그러나 curl 응답에는 다른 원치 않는 것 (예 :이 경우 set-cookie, content-length 헤더)이 있으며 때때로 실제 응답이 소모됩니다.
다음은 출력입니다 echo $response
>
Set-Cookie: rack.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRWJlY2JiOTE2M2Q1ZWI4NThjMDdi%0AYjRiOWRjMGMxMGEwYTBkMjE3NmJhZDVjYzY4YjY4ZTlmMTE2ZGVkYWE3MTMG%0AOwBGS
SIJY3NyZgY7AEZJIiVhZmQ2MmUyZGMxMzFmOGEwMjg3NDlhNWM3YmVm%0AN2FjNwY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi00MTc0OGM2MWNkMzljZTYxNzY3ZjU0
Y2I5OTdiYWRkN2MyNTBkYmU4%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLWRhMzlhM2VlNWU2%0AYjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkGOwBG%0A--ee97a62095e7d42129
tontent-Length: 354c8; path=/; HttpOnly
이것은 내 응답 구문 분석 논리를 깨고 있습니다.
나는 이상한 일이 간헐적으로 일어나는 것을 보았다.
curl 출력에서 "only" json 응답 을 얻는 방법이 있습니까?
나는 컬 문서를 훑어 보았지만 아무것도 볼 수 없거나 놓쳤을 수도 있습니다.
도움을 주셔서 감사합니다! 고마워
다음 -i
옵션을 지정합니다 .
-i , --include
(HTTP) 출력에 HTTP 헤더를 포함합니다 . HTTP 헤더에는 서버 이름, 문서 날짜, HTTP 버전 등이 포함됩니다.
명령 줄에서 해당 옵션을 제거하기 만하면됩니다.
response=$(curl -sb -H "Accept: application/json" "http://host:8080/some/resource")
#!/bin/bash
req=$(curl -s -X GET http://host:8080/some/resource -H "Accept: application/json") 2>&1
echo "${req}"
반응형
'Development Tip' 카테고리의 다른 글
왼쪽 조인을 적용하기 전에 테이블 필터링 (0) | 2020.12.04 |
---|---|
TV 소음처럼 보이도록 캔버스 애니메이션 (0) | 2020.12.04 |
기본 구현을 사용하는 null-safe 매핑 비교기 (0) | 2020.12.04 |
어떤 키 / 값 저장소가 가장 유망하고 안정적인가요? (0) | 2020.12.04 |
테이블의 모든 열과 ROWNUM과 같은 추가 열을 어떻게 선택합니까? (0) | 2020.12.04 |