Maison >développement back-end >tutoriel php >Comment puis-je traduire une commande cURL de ligne de commande en un script PHP cURL ?

Comment puis-je traduire une commande cURL de ligne de commande en un script PHP cURL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 00:08:10559parcourir

How Can I Translate a Command Line cURL Command into a PHP cURL Script?

Traduction de cURL de ligne de commande en PHP cURL

En tant que débutant en développement Web peu familier avec cURL, vous demandez de l'aide pour traduire une commande cURL de ligne de commande à utiliser dans un script PHP. Voici une explication étape par étape :

La commande que vous avez fournie place un fichier nommé "test.png" sur un wiki via une API en utilisant le "-b" (cookie), "-X PUT" ( définir la méthode de requête sur PUT), "--data-binary" (envoyer des données binaires), "-H" (définir l'en-tête HTTP) et "-0" (désactiver la première ligne de réponse HTTP 1.1) options.

Dans votre script PHP, vous pouvez utiliser les équivalences suivantes :

  • "-b cookie.txt" : définissez l'option CURLOPT_COOKIE pour spécifier les cookies d'authentification.
  • "-X PUT": Définissez l'option CURLOPT_CUSTOMREQUEST sur "PUT" pour changer la méthode de requête en PUT.
  • "--data-binary @test.png": Définissez l'option CURLOPT_BINARYTRANSFER sur TRUE pour envoyer des données binaires et utilisez curl_file_create() pour les données du fichier.
  • "-H Contenu -Type : image/png : définissez l'option CURLOPT_HTTPHEADER sur un tableau contenant l'en-tête HTTP informations.
  • "-0" : Définissez l'option CURLOPT_HTTP_VERSION sur CURL_HTTP_VERSION_1_0 pour supprimer la première ligne de réponse HTTP 1.1.

Voici un exemple de ce à quoi pourrait ressembler votre script PHP :

<?php

$pageurl = "http://hostname/@api/deki/pages/=TestPage/files/=";
$filename = "test.png";

$theurl = $pageurl . $filename;

$ch = curl_init($theurl);
curl_setopt($ch, CURLOPT_COOKIE, ...); // -b
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // -X
curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); // --data-binary
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: image/png']); // -H
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); // -0

// ...

?>

Pour plus d'informations, reportez-vous à la documentation sur curl_setopt() sur http://www.php.net/manual/en/function.curl-setopt.php.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn