Maison  >  Article  >  Opération et maintenance  >  Quels sont les paramètres de la commande Linux curl et comment les utiliser

Quels sont les paramètres de la commande Linux curl et comment les utiliser

WBOY
WBOYavant
2023-05-12 18:46:142179parcourir

linux curl est un outil de transfert de fichiers qui utilise des règles d'URL pour fonctionner sous la ligne de commande. Il prend en charge le téléchargement et le téléchargement de fichiers, il s'agit donc d'un outil de transmission complet, mais selon la tradition, il est d'usage d'appeler URL un outil de téléchargement.

  1. Paramètres de la commande Curl

  -a/--append Lors du téléchargement de fichiers, ajoutez-le au fichier cible

  -a/--user-agent Définissez l'agent utilisateur à envoyer au serveur

  - anyauth Vous pouvez utiliser " N'importe quelle " méthode d'authentification

  -b/--cookie chaîne de cookie ou position de lecture du fichier

  - basic Utiliser l'authentification de base http

-b/--use-ascii use ascii / Transfert de texte

  -c/--cookie-jar Une fois l'opération terminée, écrivez le cookie dans ce fichier

  -c/--continue-at -d/ --data Méthode de publication HTTP pour transmettre des données

  --data-ascii Publier des données en méthode ascii

  --data-binary -- négocier Utiliser l'authentification http

  --digest Utiliser l'authentification numérique

  --disable-eprt Désactiver l'utilisation de eprt ou lprt

  --disable-epsv Désactiver l'utilisation d'epsv

-d/--dump-header Écrivez les informations d'en-tête dans le fichier

   --egd-file Définissez le chemin du socket egd pour les données aléatoires (ssl)

  --tcp-nodelay Utilisez l'option tcp_nodelay

  -e/- -URL source du référent

  -e/--cert Fichier de certificat client et mot de passe (ssl)

  --cert-type (ssl)

  --key Nom du fichier de clé privée (ssl)

  --key-type ;pass> Mot de passe de la clé privée (ssl)

  --engine Utilisation du moteur de chiffrement (ssl) "--engine list" pour la liste

  --cacert -capath répertoire ca (créé à l'aide de c_rehash) pour vérifier son homologue par rapport à (ssl)

   --ciphers mot de passe ssl

  --compressed Obligatoire pour renvoyer un état compressé (en utilisant deflate ou gzip)

--connect -timeout Définir le temps maximum de requête

 --create-dirs Établir la hiérarchie des répertoires du répertoire local

 --crlf Le téléchargement convertit lf en crlf

-f/--fail Ne s'affiche pas http lorsque la connexion échoue Erreur

  --ftp-create-dirs Si le répertoire distant n'existe pas, créez le répertoire distant

  --ftp-method [multicwd/nocwd/singlecwd] Contrôlez l'utilisation de cwd

  -- ftp-pasv Utilisez pasv/epsv au lieu du port

   --ftp-skip-pasv-ip Lorsque vous utilisez pasv, ignorez l'adresse IP

   --ftp-ssl      ​​​​​​​​​​​​​​​​​​​​​​​​​ peut​—ftp-ssl​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​tls pour la transmission de données FTP

  -f/--form données de soumission du formulaire

  -form-string Simuler les données de soumission du formulaire http

  -g/--globoff Désactivez les séquences et les plages d'URL en utilisant {} et []

  -g/--get Envoyer les données dans get method

  -h/--help Help

  -h/--header Les informations d'en-tête personnalisées sont transmises au serveur

  --ignore-content-length La longueur des informations d'en-tête http ignorées

-i/--include Inclure les informations d'en-tête du protocole lors de la sortie

  -i/--head Afficher uniquement les informations du document

À partir du fichier Lire dans -j/--junk-session-cookies Ignorer les cookies de session

  - interface < interface>Spécifiez l'interface/l'adresse réseau à utiliser

  - krb4 Activer krb4 avec le niveau de sécurité spécifié

  -j /--junk-session-cookies Lire le fichier et ignorer le cookie de session

  --interface < interface> Utiliser l'interface/adresse réseau spécifiée

  --krb4 Utiliser krb4 avec le niveau de sécurité spécifié

  -k/ --insecure autorise l'accès aux sites SSL sans certificats

  -k/--config Lire le fichier de configuration spécifié

  -l/--list-only Liste les noms de fichiers dans le répertoire ftp

  --limit-rate < ;rate> Définir la vitesse de transmission

  --local-port le numéro de port local

  -m/--max-time Définit le temps de transmission maximum

  --max-redirs Définit le nombre maximum de répertoires à lire

  --max-filesize Définir le nombre total maximum de fichiers téléchargés

  -m/--manual Afficher le manuel complet

  -n/--netrc Lire le nom d'utilisateur et le mot de passe du fichier netrc

  --netrc-optional Utilisez .netrc ou l'url pour remplacer -n

   --ntlm Utiliser l'authentification http ntlm

  -n/--no -buffer Désactiver sortie tamponnée

  -o/--output Écrivez la sortie dans le fichier

  -o/--remote-name Écrivez la sortie dans le fichier, conservez le nom de fichier du fichier distant

  -p/- -proxytunnel Utiliser http proxy

  --proxy-anyauth Choisissez n'importe quelle méthode d'authentification proxy

  --proxy-basic Utiliser l'authentification de base sur proxy

  --proxy-digest Utiliser l'authentification numérique sur proxy

  - -proxy-ntlm Utiliser l'authentification ntlm sur proxy

  -p/--ftp-port

Utiliser l'adresse du port au lieu d'utiliser pasv

  -q/--quote Envoyer avant le transfert de fichier Commande au serveur

  -r/--range < range> Récupérer la plage d'octets à partir de http/1.1 ou du serveur ftp

  --range-file Lire (ssl) un fichier aléatoire

  -r/--remote-time Lors de la génération de fichiers localement, conserver l'heure du fichier distant

  -- retry Lorsqu'il y a un problème avec la transmission, le nombre de tentatives

  --retry-delay time En cas de problème de transmission, définissez le temps maximum de nouvelle tentative

  -s/--silent mode silencieux. Ne rien afficher

   -s/--show-error Afficher les erreurs

   --socks4 Utiliser chaussettes4 pour proxy l'hôte et le port donnés

   --socks5 Utiliser le proxy chaussettes5 pour l'hôte et le port donnés

   --stderr

-t/--telnet-option sur le fichier spécifié, debug


  --trace-ascii comme --trace mais pas de sortie hexadécimale

  --trace-time Ajouter un horodatage lors du traçage/sortie détaillée

  -t/--upload-file < file> Télécharger des fichiers

  --url spet url avec lequel travailler

  -u/--user Définir l'utilisateur et le mot de passe du serveur

  -u/--proxy- user < ;user[:password]>Définir le nom d'utilisateur et le mot de passe du proxy

  -v/--verbose

  -v/--version Afficher les informations sur la version

  -w/--write-out [format] Quelle est la sortie terminé

  -x/--proxy Utiliser le proxy http sur le port donné

  -x/--request Spécifiez quelle commande

  -y/--speed-time Le temps nécessaire pour lever la limite de vitesse. La valeur par défaut est 30

  -y/--speed-limit Arrêter la limite de vitesse de transmission, temps de vitesse 'seconds

  -z/--time-cond Réglage du temps de transmission

  -0/--http1.0 Utilisez http 1.0

   -1/--tlsv1 Utilisez tlsv1 (ssl)

  -2/--sslv2 Utilisez sslv2 (ssl)

  -3/--sslv3 Utilisez sslv3 (ssl)

 --3p-quote Comme -q pour le URL source pour le transfert vers un tiers

  --3p-url     Utiliser l'URL pour le transfert vers un tiers

  --3p-user    Utiliser le nom d'utilisateur et le mot de passe pour le transfert vers un tiers

  -4/--ipv4   Utiliser ip4

-6 /--ipv6 Utilisez ip6

  -#/--progress-bar Utilisez une barre de progression pour afficher l'état actuel du transfert

  -a/--append Lors du téléchargement d'un fichier, ajoutez-le au fichier cible

  -a/ --user -agent Définit l'agent utilisateur envoyé au serveur

  - anyauth Peut utiliser "n'importe quelle" méthode d'authentification

  -b/--cookie

- basic Utiliser l'authentification de base http

  -b/--use-ascii Utiliser la transmission ascii/texte

  -c/--cookie-jar

  -c /--continue-at Continuer au point d'arrêt

   -d/--data Méthode de publication HTTP pour transmettre les données

  --data-ascii

--data-binary Publier des données au format binaire

  --negotiate Utiliser l'authentification http

  --digest Utiliser l'authentification numérique

  --disable-eprt Désactiver l'utilisation de eprt ou lprt

  -- Disable -epsv interdit l'utilisation d'epsv

  -d/--dump-header Écrire les informations d'en-tête dans le fichier

  --egd-file

 --tcp-nodelay Utiliser l'option tcp_nodelay

 -e/--URL source du référent

 -e/--cert

 --cert-type Type de fichier de certificat (der/pem/eng) (ssl)

 -- clé # --pass Mot de passe de clé privée (ssl)

--engine ##🎜 🎜# --cacert certificat ca (ssl)

 --capath #🎜🎜 # --ciphers mot de passe ssl

--compressed Nécessite que le retour soit compressé (en utilisant deflate ou gzip)

--connect-timeout < ;seconds> Définir le temps maximum de requête

 --create-dirs Établir la hiérarchie des répertoires du répertoire local

       Le téléchargement consiste à convertir lf en crlf

#🎜 🎜# -f/--fail N'affiche pas les erreurs http en cas d'échec de la connexion

--ftp-create-dirs Si le répertoire distant n'existe pas, créez le répertoire distant

#🎜🎜 # --ftp-method [multicwd/nocwd/singlecwd] Contrôler l'utilisation de cwd

 --ftp-pasv Utiliser pasv/epsv au lieu du port

 --ftp- skip-pasv-ip Utilisez pasv time, ignorez l'adresse IP

 --ftp-ssl Essayez d'utiliser SSL/tls pour la transmission de données FTP

 --ftp-ssl- reqd Demande d'utilisation de ssl/tls Effectuer un transfert de données FTP

 -f/--form name=string> Simuler le formulaire http Soumettre les données

 -g/--globoff Désactivez les séquences et les plages d'URL en utilisant {} et []

 -g/--get Envoyer des données dans la méthode get#🎜 🎜#

 -h/--help Help

 -h/--header Les informations d'en-tête personnalisées sont transmises au serveur

# 🎜🎜# --ignore- content-length La longueur des informations d'en-tête http ignorées

 -i/--include Inclure les informations d'en-tête de protocole lors de la sortie

-i/- -head Afficher uniquement les informations du document#🎜 🎜#

 Lire à partir du fichier -j/--junk-session-cookiesIgnorer les cookies de session

 -InterfaceSpécifiez l'interface/l'adresse réseau en utilisant #🎜 🎜##🎜 🎜# -krb4 Activer krb4

avec le niveau de sécurité spécifié -j/--junk-session-cookies Lire le fichier et ignorer le cookie de session

# 🎜🎜# - -interface Utiliser l'interface/adresse réseau spécifiée

--krb4 Utiliser krb4 du niveau de sécurité spécifié

-k/ --insecure Autoriser à ne pas être utilisé Certificat vers le site SSL

 -k/--config Lire le fichier de configuration spécifié

 -l/--list-only Répertorier le fichier noms dans le répertoire ftp#🎜 🎜#

 --limit-rate Définir la vitesse de transfert

 --local-port 🎜#

 -m/ --max-time Définit le temps de transfert maximum

--max-redirs 🎜#

--max-filesize Définir le nombre total maximum de fichiers téléchargés

-m/--manual Afficher le manuel complet

 -n/--netrc Lire le nom d'utilisateur et le mot de passe du fichier netrc#🎜🎜 #

 --netrc-optional Utilisez .netrc ou l'URL pour remplacer -n

 --ntlm Utiliser l'authentification http ntlm

#🎜 🎜# -n/--no- buffer Désactiver la sortie tamponnée

 -o/--output Écrire la sortie dans le fichier

 -o/--remote-name Write la sortie dans le fichier, conservez le nom du fichier distant

 -p/--proxytunnel Utiliser le proxy http

 --proxy-anyauth Sélectionnez n'importe quelle méthode d'authentification proxy# 🎜🎜#

--proxy-basic Utiliser l'authentification de base sur le proxy

--proxy-digest Utiliser l'authentification numérique sur le proxy

--proxy-ntlm Utilisez ntlm sur le proxy Authentification


 -p/--ftp-port

Utilisez l'adresse du port au lieu d'utiliser pasv

 -q/--quote

 -r/--range Récupérer la plage d'octets à partir de http/1.1 ou du serveur ftp

 --range-file lire (ssl) des fichiers aléatoires

 -r/--remote-time Lors de la génération de fichiers localement, conserver l'heure du fichier distant

 --réessayer

--retry-delay En cas de problème de transmission, définissez l'intervalle de nouvelle tentative

--retry-max-time < il y a un problème de transmission, définissez le temps maximum de nouvelle tentative

 -s/--mode silencieux silencieux. Ne rien afficher

 -s/--show-error Afficher l'erreur

 --socks4 port

 --socks5 Proxy l'hôte et le port donnés avec chaussettes5

 --stderr

#🎜 🎜 # -t/--telnet-option Paramètre de l'option Telnet

 --trace ascii comme --trace mais pas de sortie hexadécimale

--trace-time Ajouter un horodatage lors du traçage/sortie détaillée

-t/--upload- file < ;file> Téléchargez le fichier

 --url nom d'utilisateur et mot de passe du serveur

 -u/--proxy-user Définir le nom d'utilisateur et le mot de passe du proxy

 -v/--verbose # 🎜🎜#

 -v/--version Afficher les informations sur la version

 -w/--write-out [format]Quelle sortie est terminée après l'achèvement

 - x /--proxy Utiliser le proxy http sur le port donné

 -x/--request Spécifiez quelle commande

#🎜🎜 # -y/--speed-time Le temps nécessaire pour abandonner la limite de vitesse. La valeur par défaut est 30

 -y/--speed-limit Arrêter la limite de vitesse de transmission, temps de vitesse en secondes

 -z/--time-cond Réglage du temps de transmission#🎜 🎜#

 -0/--http1.0 Utilisez http 1.0

 -1/--tlsv1 Utilisez tlsv1 (ssl)

 -2/--sslv2 Utilisez sslv2 (ssl)

-3/--sslv3 Utilisez sslv3 (ssl)

--3p-quote comme -q pour l'URL source pour le transfert tiers #🎜 🎜#

--3p-url Utiliser l'URL pour la transmission à un tiers

--3p-user Utiliser le nom d'utilisateur et le mot de passe pour la transmission à un tiers

-4 /--ipv4 Utilisez ip4

 -6/--ipv6 Utilisez ip6

 -#/--progress-bar Affiche l'état actuel de la transmission avec une barre de progression#🎜 🎜 #

 2. Exemples de curl courants

 1. Récupérez le contenu de la page dans un fichier

 [root@krlcgcms01 mytest]# curl -o home.html #🎜 🎜#

 [root@krlcgcms01 mytest]# curl -o home.html

 2, utilisez -o (majuscule), l'url suivante doit être spécifique à un certain fichier, sinon Can' Je ne l'attraperai pas. Nous pouvons également utiliser des expressions régulières pour récupérer des choses

 [root@krlcgcms01 mytest]# curl -o

 [root@krlcgcms01 mytest]# curl -o

# 🎜🎜# 3. Simulez les informations du formulaire, simulez la connexion, enregistrez les informations des cookies

 [root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -f log=aaaa -f pwd=*** ***

 [root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -f log=aaaa -f pwd=******

 4 , simuler les informations du formulaire, simuler la connexion, enregistrer les informations d'en-tête

 [root@krlcgcms01 mytest]# curl -d ./cookie_d.txt -f log=aaaa -f pwd=******# 🎜🎜#

 [root@krlcgcms01 mytest]# curl -d ./cookie_d.txt -f log=aaaa -f pwd=******

 -c (minuscule) Les cookies générés sont différents des cookies en -d.

5. Utilisez des fichiers cookies

[root@krlcgcms01 mytest]# curl -b ./cookie_c.txt

[root@krlcgcms01 mytest] # curl -b ./cookie_c.txt

6. Reprendre le point d'arrêt, -c (majuscule)

[root@krlcgcms01 mytest]# curl -c -o #🎜🎜 #

7. Pour transmettre des données, il est préférable d'utiliser la page de connexion pour tester, car après avoir transmis la valeur, curl récupérera les données et vous pourrez voir si la valeur que vous avez transmise a réussi

[root@krlcgcms01 mytest]# curl -d log=aaaa

[root@krlcgcms01 mytest]# curl -d log=aaaa

8, le crawl L'erreur est affichée ci-dessous. Cet exemple le montre clairement.

 [root@krlcgcms01 mytest]# curl -f

curl : (22) l'url demandée a renvoyé une erreur : 404

 [root@krlcgcms01 mytest ]# curl

 404,introuvable

 . . . . . . . . . . . .

 [root@krlcgcms01 mytest]# curl -f

curl : (22) l'url demandée a renvoyé une erreur : 404

 [root@krlcgcms01 mytest ]# curl

 404,introuvable

 . . . . . . . . . . . .

9. Forgez l'adresse source. Certains sites Web jugeront et demanderont l'adresse source. 10. Quand nous utilisons souvent curl pour Lorsque vous utilisez les éléments d'autres personnes, ils bloqueront votre adresse IP. Pour le moment, nous pouvons utiliser proxy

 [root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home .html#. 🎜🎜#

 [root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html

11, pour les choses plus importantes, on peut les télécharger dans des sections

  [root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  télécharger téléchargement   total   dépensé    vitesse  gauche

  100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0

  [root@krlcg cms01 montest]# curl -r 100-200 -o img.part2 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  téléchargement   total   dépensé    restant  vitesse

  100   101 100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 200- -o img.part3 -

  contenu/téléchargements /2010/09/compare_varnish.jpg

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  téléchargement    total   dépensé    vitesse gauche

  100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961

  [root@krlcgcms01 mytest]# ls |grep part | xargs du -sh

  4.0k    one.part1

  112k    three.part3

  4.0k    two.part2

  [root@krlcgcms01 mytest]# curl -r 0-100 -o im g.part1 -

  contenu/téléchargements /2010/09/compare_varnish.jpg

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  téléchargement    total   dépensé    vitesse gauche

  100   101  100   101    0     0    105      0 --:--:-- -- :--:-- --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 100-200 -o img.part2 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  téléchargement upload   total   dépensé    vitesse gauche

  100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 200- -o img.part3 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  télécharger téléchargement   total   dépensé    vitesse gauche

  100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961

  [root@krl cgcms01 mytest]# ls |grep partie | xargs du -sh

  4.0k    one.part1

  112k    three.part3

  4.0k    two.part2

  用的时候,把他们cat一下就ok了,cat img.part* >img.jpg

12,不会显示下载进度信息

  [root@krlcgcms01 mytest]# curl -s -o aaa.jpg

  13,显示下载进度条

  [root@krlcgcms01 mytest]# curl -# -o

  # ################################################# ##################### 100.0%

  14,通过ftp下载文件

  [zhangy@blackghost ~]$ curl -u 用户名:密码 -o

  % total    % reçu % xferd  vitesse moyenne   temps    temps     temps  actuel

  téléchargement upload   total   dépensé    vitesse gauche

  101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --: --:-- 7136

  [zhangy@blackghost ~]$ curl -u 用户名:密码 -o

  % total % reçu % xferd vitesse moyenne temps temps actuel

téléchargement téléchargement total dépensé vitesse gauche

 101 1934 101 1934 0 0 3184 --:--: -- --:--:-- --: -- :-- 7136

 Ou utilisez la méthode suivante

 [zhangy@blackghost ~]$ curl -o ftp://username:password@ip:port/demo/curtain/bbstudy_files/style.css

 [ zhangy@blackghost ~]$ curl -o ftp://username:password@ip:port/demo/curtain/bbstudy_files/style.css

 15, télécharger via ftp

 [zhangy@blackghost ~]$ curl -t test.sql ftp ://username:password@ip:port/demo/curtain/bbstudy_files/

 [zhangy@blackghost ~]$ curl -t test.sql ftp://username:password@ip:port/ demo/curtain/bbstudy_files/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer