2017-11-08 14 views
0

지금은 Unix 플랫폼에서 Curl 명령을 사용하여 웹 서비스를 호출하려고합니다. 웹 서비스는 외부 서버에서 사용할 수 있습니다. Telnet을 사용하여 외부 서버에 연결할 수 있습니다. 웹 서비스는 기본 인증을 사용하며 사용자 이름과 암호를 제공해야합니다.Telnet 연결로 Curl을 사용하여 웹 서비스 호출하기

누구든지 올바른 방법으로 실행 해 주실 수 있습니까?

+1

곱슬 곱슬하게 자격 증명을 제공하는 방법을 묻는 질문이 있으십니까? 그것은 잘 문서화되어 있습니다. https://curl.haxx.se/docs/manpage.html#--basic – Eddie

+0

시도하는 방식의 예가 있습니까? – monteirobrena

+0

이것은 내가 시도한 명령입니다. curl -header "Content-Type : text/xml; charset = UTF-8"--header "SOAPAction : urn : login"--basic -u username : password --data @test .xml url – user3255619

답변

0

curl이 필요하지 않고 텔넷 연결을 통해 로컬 웹 서비스를 테스트하려는 경우 적절한 HTTP 명령을 입력하기 만하면됩니다. 당신이 어떤 이유로 컬하려면

$ telnet remotehost 80 
Trying IP.IP.IP.IP... 
Connected to remotehost. 
Escape character is '^]'. 
GET/HTTP/1.0 
Content-Type: text/xml;charset=UTF-8 
SOAPAction:urn:login 
Authorization: Basic base64encodedstring 


# need 2 carriage returns above to denote completion of request body. 

는하지만, 컬 "TELNET"기능은 텔넷 연결을 통해 curl 명령을 전달하는 일을 할 것 같다.

curl telnet://remotehost

TELNET 컬 텔넷 지원은 기본 및 사용이 매우 쉽습니다. Curl은 stdin에 전달 된 모든 데이터를 원격 서버로 전달합니다. 유사한 명령 줄 사용 원격 텔넷 서버에 연결 :

curl telnet://remote.server.com 

을 그리고 표준 입력의 서버에 전달할 데이터를 입력합니다. 결과는 stdout 또는 -o를 사용하여 지정한 파일로 전송됩니다. 저속 연결 또는 이와 유사한 경우 버퍼 출력을 끄려면 -N/- no-buffer 옵션이 필요할 수 있습니다. -t 옵션을 사용하여 텔넷 프로토콜 협상에 옵션을 전달합니다. 포함 -t 그것을 위해

curl -tTTYPE=vt100 telnet://remote.server.com 

다른 흥미로운 옵션 :

  • XDISPLOC =는 X 표시 위치를 설정 우리가 VT100 터미널을 사용하여 서버를 말하자면, 같은 을 시도합니다.

  • NEW_ENV = 환경 변수를 설정합니다. 참고 : 텔넷 프로토콜은 지정된 사용자와 암호로 로그인 할 방법을 지정하지 않으므로 curl은 자동으로 그렇게 할 수 없습니다. 하려면 로그인 프롬프트가 수신되면이를 추적해야하고 은 사용자 이름과 비밀번호를 적절히 보냅니다.