23

wget/lynx/GET最大限の移植性のために使用できる POSIX または *nix オペレーティング システムでデフォルトで配布されているような HTTP クライアントはありますか?

ほとんどのシステムがインストールされているwgetlynxインストールされていることは知っていますが、デフォルト設定を使用していくつかのUbuntuサーバーシステムをインストールしたことを覚えているようで、それらはどちらwgetlynxインストールされていなかったか、基本パッケージにインストールされていませんでした。

Linux (およびおそらく Mac) 用のシェル スクリプトを作成して、コンピューターにソフトウェアをインストールしています。いくつかの大きなファイルを配布する必要がないように、これらのファイルをインストーラーでパッケージ化するのではなく、インターネットから取得したいと考えています。現在、インストール スクリプトはMakeselfから作成された単一のファイルで配布される予定です。

ファイルが含まれている場合にインストール スクリプトが 100 MB を超えることは避けたいと思います。また、ユーザーがソフトウェアをアップグレードまたは再インストールする場合は必要ない場合もあります。おそらく最も移植性の高い方法は、ファイルをパッケージに含めることです。

現在、スクリプトでwgetlynxGET、 をこの順序でチェックすることを考えています。ダウンロードに使用できるものはどれでも使用しますが、動作するファイルをダウンロードできる方法があれば、これを完全に回避できます。すべてのシステム。

編集:

GETlwp-request ( ) とその可用性についてよく知っている人はいますか? これは、私がこれまでに確認したいくつかのシステムですぐに利用できるようで、RedHat に戻ると常に約 10 年以上前のことを覚えています。

4

5 に答える 5

16

2019-11-04 に編集: 飛行中に転送が改ざんされないようにすることの重要性を反映するために、回答を書き直しています。元の回答をルールの下に残します。

rsyncoversshを使用してファイルを転送することをお勧めします。. rsync_ rsync -avzPを使用sshすると、接続に整合性、信頼性、およびプライバシーが提供されます。

curlhttp転送の事実上の標準です。プレーンな http または https が優先される場合、curlまたはに基づくツールcurlがおそらく適切な選択です。


私の経験では、ツールは次の順序で利用できます。

  • wget
  • curl
  • sftp
  • ftp
  • GET(私はHEADいつも使用していますが、これがスイートの 1 つのツールであることを忘れがちです)
  • tftp
  • nc(私が望むほど一般的ではありません)
  • socat(さらに一般的ではありません)

このbash /dev/tcpツールは、私が使用したほとんどのシステムで利用できます (一部は使用dashまたはpdksh代わりに) が、 , , またはを使用echoすると、 HTTP アクセスが遠回りします。何らかの方法でヘッダーを処理する必要があり、その優雅さが低下します。 .bashncsocat

于 2012-02-28T23:53:54.740 に答える
3

gnu awk (gawk) には、非 Linux システムでも TCP ハンドリングが組み込まれていますhttp://www.gnu.org/software/gawk/manual/gawkinet/html_node/

于 2012-09-04T14:55:41.703 に答える
3

Curl は、おそらく wget よりも一般的です。少なくとも私の経験では、他のツールがそれに依存しているという理由だけです。ただし、curl と wget はどちらもインストールが非常に簡単で、どのシステムでも利用できます。

于 2012-02-28T23:32:37.760 に答える
1

Linuxディストリビューションで最も一般的なftpまたはwgetを使用することをお勧めします。ベストプラクティスは、次のコマンドに移動しない場合でも、コマンドが使用可能かどうかをスクリプトで確認することです。

于 2012-02-28T23:29:21.550 に答える