가동 시간 / df의 출력을 말리려면 어떻게 파이프합니까?


10

cURL을 사용하여 출력 uptimedf명령을 웹 응용 프로그램 으로 보내려고합니다 . 나는 시도했다 :

uptime | curl http://someurl.com -T -

그러나 그것은 데이터를 보내지 않는 것 같습니다.

명령 출력을 POST 매개 변수로 cURL에 전송하는 올바른 방법은 무엇입니까? (또는 훨씬 쉬운 경우 wget)


>파이프가 아닌 stdout에 리디렉터를 사용하려고 했 |습니까? 또한 살펴보십시오 xargs.
mbrownnyc

curl 매뉴얼 curl.haxx.se/docs/manpage.html#-d 또는 wget 매뉴얼 (아래 참조 --post-data=string)에 설명되어 있습니다 : gnu.org/software/wget/manual/wget.html#HTTP- 옵션
mailq

"POST 매개 변수로"라고 말하면 양식의 필드 (이름)에 가동 시간을 입력하고 제출을 누르는 것처럼 또는 가동 시간을 파일에 저장 한 것처럼 필요하다는 의미입니까? 그런 다음 파일 업로드 필드를 사용하여 파일을 선택한 다음 제출을 눌렀습니까? 데이터를 POST하는 두 가지 방법이 있습니다. -Twith http[s]://POST가 아닌 PUT 을 사용합니다.
DerfK

@DerfK 예, 가동 시간 결과를 텍스트 영역 필드에 붙여 넣고 URL에 POST 한 것처럼하고 싶습니다.
Callmeed

답변:


29

curl에서 -d 옵션을 @-인수와 함께 사용하여 파이프의 입력을 승인 할 수 있습니다. 키-값 쌍을 직접 구성해야합니다. 이 시도:

echo "time=`uptime`" | curl -d @- http://URL

백틱 (`)은 동봉 된 명령 (이 경우 가동 시간)이 실행되고 백틱 인용 텍스트가 실행 된 명령의 출력으로 대체되었음을 나타냅니다.


4
명령 출력에 dfcurl --data-binary @- URLuptime | curl --data-urlencode time@- URL
바꿈 (예 :)이 포함
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.