This article describes how to generate a curl command line in php. it involves the dynamic operation skills of php strings and arrays and has some reference value, for more information about how to generate curl command lines in php, see the example in this article. We will share this with you for your reference. The details are 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 code is as follows:
function getCurlCommand(){ try { if (php_sapi_name() == 'error cli'){ throw new Exception("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 (Exception $e) { return $e->getMessage(); }}echo getCurlCommand();
I hope this article will help you with php programming.