GNU/Linux >> Linux の 問題 >  >> Linux

Linux での curl -k -i -X の意味は何ですか?

-k, --安全でない :自己署名 SSL 証明書を使用している Web サイトに対して curl を実行している場合 curl could not verify the certificate として、curl はエラーを返します。 .その場合、 -k を使用できます または --insecure 証明書の検証をスキップするフラグ .

例:

[[email protected]]$ curl --head https://xxx.xxx.xxx.xxx/login

curl: (60) Peer's Certificate issuer is not recognized. 
More details here: http://curl.haxx.se/docs/sslcerts.html 
curl performs SSL certificate verification by default, using a 
"bundle" of Certificate Authority (CA) public keys (CA certs).
If the default bundle file isn't adequate, you can specify an 
alternate file using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented 
in the bundle, the certificate verification probably failed 
due to a problem with the certificate (it might be expired, 
or the name might not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate,
use the -k (or --insecure) option.

[[email protected]]$ curl -k --head https://xxx.xxx.xxx.xxx/login

HTTP/1.1 302 Moved Temporarily
Date: Thu, 07 Dec 2017 04:53:44 GMT
Transfer-Encoding: chunked
Location: https://xxx.xxx.xxx.xxx/login 
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: JSESSIONID=xxxxxxxxxxx; path=/; HttpOnly

-i, --include :このフラグには http ヘッダーが含まれます。通常、http ヘッダーはサーバー名、日付、コンテンツ タイプなどで構成されます。

例:

[[email protected]]$ curl https://google.com

<HTML><HEAD><meta http-equiv="content-type" content="text/html charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="https://www.google.com/">here</A>. </BODY></HTML>

[[email protected]]$ curl -i https://google.com

HTTP/1.1 301 Moved Permanently
Location: https://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Thu, 07 Dec 2017 05:13:44 GMT
Expires: Sat, 06 Jan 2018 05:13:44 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 220
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alt-Svc: hq=":443"; ma=2592000; quic=51303431; quic=51303339;
quic=51303338; quic=51303337; quic=51303335,quic=":443"; ma=2592000;
v="41,39,38,37,35"
<HTML><HEAD><meta http-equiv="content-.....

-X, --request :このフラグは、カスタム リクエストをサーバーに送信するために使用されます。ほとんどの場合、GET を実行します。 、 HEAD 、および POST . PUT のような特定のリクエストが必要な場合 、 FTPDELETE その後、このフラグを使用できます。次の例では、削除リクエストを google.com に送信します

例:

[[email protected]]$ curl -X DELETE google.com

..........................
<p><b>405.</b> <ins>That’s an error.</ins>
<p>The request method <code>DELETE</code> is inappropriate for the URL
<code>/</code>.  <ins>That’s all we know.</ins>`

ここに明確に文書化されています。

編集

マニュアルページから

<ブロック引用>

-k, --安全でない

(TLS) デフォルトでは、curl が行うすべての SSL 接続は安全であることが検証されます。このオプションにより、安全でないと見なされるサーバー接続であっても、curl は処理を続行して動作することができます。

サーバー接続は、サーバーの証明書に正しい名前が含まれていることを確認することによって検証され、証明書ストアを使用して正常に検証されます。

これは -k で 、 curl 証明書エラー (古い証明書、自己発行の証明書など) があっても、HTTPS への接続を受け入れます。

<ブロック引用>

-i, --include

出力に HTTP 応答ヘッダーを含めます。 HTTP 応答ヘッダーには、サーバー名、Cookie、ドキュメントの日付、HTTP バージョンなどを含めることができます...

リクエスト ヘッダーを表示するには、-v、--verbose オプションを検討してください。

-v、--verbose も参照

これについて素人の言葉で言えることはあまりありません。 HTTP 応答ヘッダーに慣れていない場合は、ここで詳細を確認できます。

<ブロック引用>

-X, --request

(HTTP) HTTP サーバーと通信するときに使用するカスタム要求メソッドを指定します。指定されたリクエスト メソッドは、他の方法で使用されるメソッド (デフォルトは GET) の代わりに使用されます。詳細と説明については、HTTP 1.1 仕様を参照してください。一般的な追加の HTTP リクエストには PUT と DELETE が含まれますが、WebDAV などの関連技術は PROPFIND、COPY、MOVE などを提供します。

通常、このオプションは必要ありません。あらゆる種類の GET、HEAD、POST、および PUT リクエストは、専用のコマンド ライン オプションを使用して呼び出されます。

このオプションは、HTTP リクエストで使用される実際の単語を変更するだけで、curl の動作は変更しません。たとえば、適切な HEAD リクエストを作成したい場合、 -X HEAD を使用しても十分ではありません。 -I, --head オプションを使用する必要があります。

-X、--request で設定したメソッド文字列はすべてのリクエストに使用されます。たとえば、-L、--location を使用すると、curl が HTTP 30x 応答コードに従ってリクエスト メソッドを変更しない場合に、意図しない副作用が発生する可能性があります。

(FTP) FTP でファイル一覧を作成するときに、LIST の代わりに使用するカスタム FTP コマンドを指定します。

(POP3) LIST または RETR の代わりに使用するカスタム POP3 コマンドを指定します。(7.26.0 で追加)

(IMAP) LIST の代わりに使用するカスタム IMAP コマンドを指定します。 (7.30.0 で追加)

(SMTP) HELP または VRFY の代わりに使用するカスタム SMTP コマンドを指定します。(7.34.0 で追加)

このオプションが複数回使用された場合、最後のオプションが使用されます。

curl を使用して Web ページにアクセスすると、実際には GET 要求がサーバーに送信されます。 -X 使用できる他の種類のリクエストがあります という指定方法です。前述のように、このコマンドは通常必要ありません。たとえば、POST リクエストが必要な場合は、-d を使用できます -X を使用するのではなく .詳細な情報がなければ、-X が必要な理由を説明するのは困難です API 呼び出しで。


Linux
  1. 最高のVPSは何ですか:WindowsまたはLinux?

  2. *nix とはどういう意味ですか?

  3. Linux での fork() と grep の意味は何ですか?

  1. Linuxを持続可能なOSにする理由

  2. Linuxでのセッションの定義は何ですか?

  3. Linux ソートのデフォルトの順序は何ですか?

  1. Linuxコミュニティが特別な理由は何ですか?

  2. LinuxとUnix:違いは何ですか?

  3. Linuxシステムの現在のランレベルはどれくらいですか?