developer tip

bash curl 문에 '&'문자를 포함하는 방법

optionbox 2020. 9. 16. 07:35
반응형

bash curl 문에 '&'문자를 포함하는 방법


bash에서 curl을 사용하여 웹 페이지를 다운로드하려고하는데 &URL 기호가 원하는대로 문자로 해석되지 않습니다. 기호 &가 지루하고 특별한 것이 아니라고 bash를 설득하는 방법에 대한 아이디어 가 있습니까?


전체 URL을 큰 따옴표 안에 넣으면 문제가 해결됩니다.


curl "http://www.example.com?m=method&args=1"

&를 GET URL의 구분 기호로 사용하고 있습니까? 아니면 데이터에 있습니까?

데이터에있는 경우 HTML 문자로 인코딩해야하며 그렇지 않은 경우 따옴표로 묶어야합니다.

에 대한 인코딩 은 URL &있어야합니다 %26.

curl "http://www.example.com?m=this%26that

&기호 주위에 작은 따옴표를 넣으면 작동하는 것 같습니다. 즉, http://www.example.com/page.asp?arg1=${i}'&'arg2=${j}curl 과 같은 URL을 사용 하면 요청 된 웹 페이지가 반환됩니다.


이스케이프 "&"문자를 시도하는 대신 아래와 같이 -d 매개 변수를 사용하여 POST 요청에 http url 매개 변수를 지정할 수 있습니다.

curl -X POST http://www.example.com \
-d arg1=this \
-d arg2=that

요청이 GET이면 curl에 GET 요청과 함께 데이터를 전송하도록 지시하는 -G 옵션도 추가해야합니다.

curl -X GET -G http://www.example.com \
-d arg1=this \
-d arg2=that

%26대신 사용할 수 있습니다 &. 엔티티 코드가 제대로 작동합니다.

참고 URL : https://stackoverflow.com/questions/13339469/how-to-include-an-character-in-a-bash-curl-statement

반응형