2017-11-08 2 views
0

現在、私はUnixプラットフォームのCurlコマンドを使用してWebサービスを呼び出そうとしています。 Webサービスは外部サーバーで使用できます。 Telnetだけを使って外部サーバに接続できます。 Webサービスは基本認証を使用しており、ユーザー名とパスワードを提供する必要があります。Telnet接続でCurlを使用してWebサービスを呼び出す

誰でもこの方法を実行する正しい方法を教えてください。

+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が不要で、telnet接続を介してローカルWebサービスをテストしたい場合は、適切な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」機能は、telnet接続を通じてcurlコマンドを渡すために働くだろうと思われます。

curl telnet://remotehost

TELNET カールのtelnetのサポートは基本的で非常に使いやすいです。 Curlはstdinに渡されたすべてのデータをリモートサーバーに渡します。

curl telnet://remote.server.com 
そして、標準入力上のサーバーに渡すデータを入力します。のようなコマンドラインを使用して リモートTelnetサーバーに接続します。結果はstdoutまたは-oで指定したファイルに送られます。 低速接続などのバッファ出力をオフにするには、-N/- no-bufferオプションが必要な場合があります。 -tオプションを使用して、telnetプロトコルネゴシエーションにオプションを渡します。含ま-tそのため

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

その他の興味深いオプション:

  • XDISPLOC = Xの表示位置を設定し、我々はVT100端末を使用してサーバーに伝えるために、のようなもの を試してみてください。

  • NEW_ENV =環境変数を設定します。 注:telnetプロトコルは、指定されたユーザーとパスワードでログインする方法を指定していないので、curlは自動的にそれを実行できません。 にするには、ログインプロンプトがいつ受信されたかを追跡し、それに応じて がユーザ名とパスワードを送信する必要があります。

関連する問題