Heim >Backend-Entwicklung >PHP-Tutorial >So generieren Sie eine Curl-Befehlszeile in PHP

So generieren Sie eine Curl-Befehlszeile in PHP

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-07-29 09:10:21971Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie man eine Curl-Befehlszeile in PHP generiert. Teilen Sie es wie folgt mit allen als Referenz:

Beispiel:
curl "http://localhost/other/serverInfo.php?dd=ddd" -H "Host:localhost" -H " Verbindung :keep-alive" -H "Cache-Control:max-age=0" -H "Accept:text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q = 0.8" -H "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/43.0.2357.132 Safari/537.36" -H "DNT:1" -H "Akzeptieren- Codierung :deflate, sdch“ -H „Accept-Language:zh-CN,zh;q=0.8,en;q=0.6“ -H „Cookie:name=richie; email=richie@qq.com“

Der spezifische Code lautet wie folgt:

function getCurlCommand()
{
 try {
  if (php_sapi_name() == 'error cli'){
   throw new <strong>Exception</strong>("cli");
  }
  $curlCommand = 'curl ';
  $postData = $getData = '';
  if($_GET) {
   $gets = http_build_query($_GET);
   $getData .= strpos($curlCommand, '?') ? '&' . $gets : '?' . $gets;
  }
  if ($_SERVER['REQUEST_METHOD'] == 'POST' ) {
   $posts = http_build_query($_POST);
   $postData = ' -d "' . $posts . '"';
  }
  $path = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : $_SERVER['PHP_SELF'];
  $curlCommand .= '"' . "http://{$_SERVER['HTTP_HOST']}" . $path . $getData . '"';
  if ($postData) {
   $curlCommand .= $postData;
  }
  $headers = array();
  if (function_exists('getallheaders')) {
   $headers = getallheaders();
  } else {
   foreach ($_SERVER as $name => $value) {
    if (substr($name, 0, 5) == 'HTTP_') {
     $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
    }
   }
  }
  foreach ($headers as $key => $value) {
   if($key == 'Accept-Encoding') $value = str_replace('gzip, ','',$value);
   $curlCommand .= ' -H "' . $key . ':' . $value . '"';
  }
  return $curlCommand;
 } catch (<strong>Exception</strong> $e) {
  return $e->getMessage();
 }
}
echo getCurlCommand();

Ich hoffe, dass dieser Artikel für alle im PHP-Programmierdesign hilfreich sein wird.

Das Obige stellt die Methode zum Generieren von Curl-Befehlszeilen in PHP vor, einschließlich des Ausnahmeinhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn