Home > Article > Backend Development > How to generate curl command line in php
The example in this article describes how to generate curl command line in PHP. Share it with everyone for your reference, as follows:
Example:
curl "http://localhost/other/serverInfo.php?dd=ddd" -H "Host:localhost" -H "Connection: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, like Gecko) Chrome/43.0.2357.132 Safari/537.36" -H "DNT:1" -H "Accept-Encoding:deflate, sdch" -H "Accept-Language:zh-CN,zh;q=0.8,en;q=0.6" -H "Cookie:name=richie; email=richie@qq.com"
The specific code is as follows:
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();
I hope this article will be helpful to everyone in php programming design.
The above introduces the method of generating curl command line in PHP, including Exception content. I hope it will be helpful to friends who are interested in PHP tutorials.