2016-06-14 3 views
1
curl -v 'something.com:12684/CAB/keyfile?r=ORE_0&t=VOD&p=1' 

는 200 반환 따옴표없이 요청하지만,컬은 400 나쁜

curl -v something.com:12684/CAB/keyfile?r=ORE_0&t=VOD&p=1 

가 400이 왜 따옴표 사항을 반환 사용을 반환?

+2

1) 쉘이 작동하는 방식입니다. 2) escapeshellarg()를 사용할 수 있고 PHP가 대신 해줄 것입니다. 3) 어쨌든 커맨드 라인 컬이 필요하지 않습니다. PHP는 컬 기능을 내장하고 있습니다. –

답변

3

URL에 셸이 특별하다고 인식하는 문자가 있습니다. 대부분의 경우, &은 UNIX-ish 셸에 대한 신호로서 백그라운드에 명령을 배치합니다. 따라서 효과적으로 세 개의 명령을 실행하고 있습니다.

curl -v something.com:12684/CAB/keyfile=?r=ORE_0 
t=VOD 
p=1 

마지막 두 개가 유효한 쉘 구성이므로 쉘 오류 출력이 표시되지 않습니다.

항상 귀하의 주장을 인용하십시오. PHP의 경우 escapeshellarg을 사용하십시오. 더 curl 내장 또는 Guzzle 같은 타사 라이브러리를 사용하십시오.

관련 문제