タグ付けされた質問 「curl」

cURLは、HTTP GET、POST、およびPUTリクエストを発行するためのCLIツールです。

1
cUrl:引数リストが長すぎます
エラーが発生しています:Argument list too longcUrlを使用して、JSONの本文内のbase64でファイルを送信しようとしています。 私はこのようなものを使用しています: DATA=$( base64 "$FILE" ) curl -X POST -H "Content-Type: application/json" -d '{ "data": "'"$DATA"'" }' $HOST JSONの本文にデータを取得する他の方法はありますか? ファイルシステム内のファイルを読み取り、base64に変換してから本文内に送信する必要があることを考慮してください。
15 curl 

4
curlを使用してWebページの応答のタイムアウトを設定する
ツールを使用して、Webページが稼働しているかどうかを監視します。 ツールは、curlコマンドを内部的に使用して出力を取得します。 ただし、Webページの応答に時間がかかると、TIMEOUTエラーが返されます。ツールからタイムアウトを増やす方法はありません。 Webページからの応答のタイムアウト期間を設定/変更する方法はありますか? 変更できる変数はありますか?
15 curl  timeout 

2
bashスクリプトで何千ものcurlバックグラウンドプロセスを並行して実行する
次のbashスクリプトでcurlバックグラウンドプロセスを実行しています。 START=$(date +%s) for i in {1..100000} do curl -s "http://some_url_here/"$i > $i.txt& END=$(date +%s) DIFF=$(( $END - $START )) echo "It took $DIFF seconds" done 49Gb Corei7-920専用サーバー(仮想ではない)があります。 topコマンドを使用してメモリ消費とCPUを追跡しますが、それらは限界からはかけ離れています。 ps aux | grep curl | wc -l現在のcurlプロセスの数を数えるために使用しています。この数は2〜4千まで急速に増加し、その後連続的に減少し始めます。 パイピングcurlを介して単純な解析をawk(curl | awk > output)に追加すると、curlプロセスの数は1〜2千に増え、その後20〜30に減少します。 プロセスの数がそれほど劇的に減少するのはなぜですか?このアーキテクチャの境界はどこですか?
14 linux  performance  bash  curl  wget 

1
curlを使用してFTP経由で複数のファイルをアップロードする
curlを使用してFTP経由で現在のフォルダー内のすべてのテキストファイルをサーバーの場所にアップロードしようとしています。私は次の行を試しました: curl -T "{file1.txt, file2.txt}" ftp://XXX --user YYY ここで、XXXはサーバーのIPアドレスで、YYYはユーザー名とパスワードです。 file1.txtをサーバーに正常に転送できますが、2番目のファイルについて「Ca n't open 'file_name'!」というメッセージが表示されます。 ファイル名を入れ替えたところ、file1.txtではなくfile2.txtで機能しました。私は構文が間違っているようですが、これはマニュアルに書かれていることですか? また、理想的には次のようなことができるでしょう: curl -T *.txt ftp://XXX --user YYY なぜなら、現在のフォルダー内のtxtファイルの名前や転送するファイルの数が常にわからないからです。 の出力をls *.txt配列に収集して、curlで必要な複数ファイル形式に入れるbashスクリプトを作成する必要があるかもしれないと私は考えています。 私は以前にbashスクリプトを作成したことがありません-これはこれを実現する最も簡単な方法ですか?
14 shell-script  ftp  curl 

5
シェルスクリプトでサイトのhttpステータスを(のみ)取得するにはどうすればよいですか?
カールが仕事をしてくれると思います。私はスクリプトで書きました: #!/bin/sh function test { res=`curl -I $1 | grep HTTP/1.1 | awk {'print $2'}` if [ $res -ne 200 ] then echo "Error $res on $1" fi } test mysite.com test google.com ここでの問題は、私が何をしようとも、標準出力への以下の出力を停止することはできません: % Total % Received % Xferd Average Speed Time Time Time Current cronjobでこのスクリプトを実行し、そのようなメッセージを書き込むと、実行するたびに、サイトが正常であってもcronで標準出力に何かが出力されているため、電子メールを受け取ります。 ジャンクをstdoutに入れずにステータスコードを取得するにはどうすればよいですか?このコードは、stdoutへのボーナスジャンクを除いて機能しますが、使用できません。
13 cron  curl  output 


3
curlを使用してWeb要求を自動化しますか?
仕事で使用しなければならない「企業」システムがいくつかあります。それらのいくつかはひどいもので、フレームやポップアップなどがあります。 カールなどを使用して、いくつかのものを自動化することを考えていました。ログインし、ハイパーリンクをクリックし、データを設定して、投稿を行います。 curlを使用することはできますか?それとも、Seleniumのようなものを使用したほうが良いでしょうか?
13 curl  web 

1
cURLを使用したログインサイト
コマンドを使用してcURLコマンドラインからログインしようとしています curl --data "username = user&password = pass&submit = Login" http://www.ip.com:8080/LoginApplication/Login.jsp その後、次を使用して内部ページにアクセスしようとします curl http://www.ip.com:8080/LoginApplication/Success.jsp しかし、ログインしていないためにエラーページにリダイレクトされています。 セッションを維持できるように、最初のコマンドで不足しているものは何ですか?ウェブサイトをローカルでホストしています
12 curl 

5
URLに基​​づいてwgetまたはcurlの出力をカスタムファイル名に書き込む
たとえば、リンクがありhttp://www.abc.com/123/def/ghi/jkl.mnoます。wgetor curlを使用してダウンロードし、出力ファイルの名前をとして取得しますdef_ghi_jkl.mno。ここで、部分def_ghiはリンクから取得されます。 このwgetコマンドをスクリプトに追加して、複数のファイルをダウンロードし、出力ファイル名を明示的に指定できないようにします。
12 filenames  wget  curl 

3
bashでユーザー入力のパスワードをプログラムの標準入力の一部にする最も安全で簡単な方法は何ですか?
ユーザーにbashシェルプロンプトでパスワードを入力させ、そのパスワードをプログラムのstdinの一部にするための(1)最も安全で(2)最も簡単な方法を探しています。 :これが見えるようにstdinを必要とするもので{"username":"myname","password":"<my-password>"}、<my-password>何をしているが、プロンプトシェルに入力されます。プログラムstdinを制御できれば、パスワードを安全に要求して設定できるようにプログラムを変更できますが、ダウンストリームは標準的な汎用コマンドです。 以下を使用するアプローチを検討し、拒否しました。 コマンドラインにパスワードを入力するユーザー:パスワードは画面に表示され、「ps」を介してすべてのユーザーに表示されます 外部プログラムへの引数へのシェル変数補間(例:)...$PASSWORD...:パスワードは引き続き "ps"を介してすべてのユーザーに表示されます 環境変数(環境に残っている場合):パスワードはすべての子プロセスに表示されます。信頼できるプロセスでさえ、診断の一部としてコアダンプまたは環境変数をダンプする場合、パスワードを公開する可能性があります 長期間ファイルに保存されたパスワード、たとえ権限が厳しいファイルでも:ユーザーが誤ってパスワードを公開し、rootユーザーが誤ってパスワードを表示する可能性があります 私は現在の解決策を以下の答えとして挙げますが、誰かがそれを思いついた場合、より良い答えを喜んで選択します。もっと単純なもの、または誰かが私が見逃したセキュリティ上の懸念を見つけたのではないかと思います。
12 bash  security  password  curl 

3
SSL暗号をカール形式に変換する方法は?
公式SSLのドキュメントには、カールがかかるとは異なる形式で暗号をリストします。たとえば、curlでTLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA暗号を使用する場合は、それを渡す必要がありcurl --ciphers ecdhe_rsa_3des_shaます。一部のマッピングは知っていますが、すべてではありません-たとえば、暗号化TLS_DHE_RSA_WITH_AES_128_GCM_SHA256を使用するには、curlに何を渡さなければなりませんか? ssl docsの暗号名がcurlが受け入れる暗号名にどのようにマッピングされるかを示すドキュメントを見つけることができる場所はありますか? 編集:私は最終的に私のカールがOpenSSLではなくNSSによって裏付けられていることを発見しました、そして問題はOpenSSLが同じ暗号を使用するために別の引数を必要とする一方で、NSS裏付けされたカールの使用に関する適切なドキュメントがないためです。だから私の質問はNSSに固有です。

1
Gnu / LinuxをWindowsからすぐに信頼できる証明書を信頼させる方法は?
このSSLチェックで報告されているように、SSLチェーンが壊れているサーバーがあります。 これはサーバー自体で解決すべき問題であることはわかっていますが、修正するのが難しい場合があります(私はサーバーの管理者ではありません)。 問題は、Windows上のChrome / Mozilla / Edgeがとにかくサイト証明書を信頼することです: ただし、Gnu / Linux展開(DockerのUbuntu 18.04)では、証明書は信頼されません。 curl: (60) SSL certificate problem: unable to get local issuer certificate update-ca-certificatesGlobalsign Root証明書を試してインポートしました。update-ca-certificatesその場合、重複した証明書が報告されました。とにかく、何も機能しません。 再現方法 Dockerの使用: docker run -it ubuntu:18.04 # within container: apt-get update apt-get -y install curl curl https://betriebsheft.vog.it # <---- "unable to get local issuer certificate" Gnu …

5
curlからshにパイプする前にシェルスクリプトを読んで確認します(curl -s [url] | sh)
Webからシェルスクリプトを実行する必要があるときはいつでもcurl -s [url] | sh、まずurlWebブラウザーで開いて、スクリプトが悪意のないものであり、安全に実行できることを確認します。 コマンドラインからスクリプトを読み取り、スクリプトを読み取った後に実行を確認することを可能にするコマンドライントリックを見たのを覚えています。私が正しく思い出せば、それは何かのように見えcurl -s [url] | something...here | sh、ソフトウェアのインストールを必要としませんでした。 誰もがこのトリックを知っていますか?

1
どうやってhtmlをlynxにパイプするのですか?
コンソールからいくつかのajax呼び出しをテストしています。私はhtmlマークアップであるメタ情報ノイズを取り除き、コンテンツを読み取るのが好きなので、それをlynxなどのターミナルブラウザーにパイプします。 まだ: curl www.google.de | lynx lynxの新しいインスタンスを開くだけです。 したくない: curl www.google.de > someFile.html && lynx someFile.html
11 pipe  curl  html  stdin  lynx 

2
curlが(コマンドラインを介して)ファイルが既に存在する場合に上書きするように指定するにはどうすればよいですか?
私はこの構文でcurlを使用しています: curl -o myfile.jpg http://mysite.com/myfile.jpg このコマンドを2回実行すると、2つのファイルが取得されます。 myfile.jpg myfile-1.jpg ファイルが存在する場合、上書きするようにCURLに指示するにはどうすればよいですか?
11 filenames  io  curl 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.