php生成curl命令行的方法_php技巧

本文实例讲述了php生成curl命令行的方法。分享给大家供大家参考,具体如下:

示例:
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"

具体代码如下:

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();

希望本文所述对大家php程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 生成
, curl命令行
php生成curl命令行
php curl 命令行、curl 命令行、curl post 命令行、curl 命令行中文乱码、java 命令行调用 curl,以便于您获取更多的相关知识。

时间: 2024-11-08 19:14:38

php生成curl命令行的方法_php技巧的相关文章

PHP生成不重复标识符的方法_php技巧

本文实例讲述了PHP生成不重复标识符的方法.分享给大家供大家参考.具体实现方法如下: 生成唯一不重复的标识我们主要是根据当前的一个时间time然后再转换在md5值,这样几乎是可以保证标签的唯一性,下面整理了一些关于PHP生成不重复标识符程序代码,感兴趣的朋友可以来看一下 PHP倒是自带了生成唯一id的函数:uniqid() ,它是基于当前时间微秒数的,用法如下: 复制代码 代码如下: echo uniqid(); //13位的字符串 echo uniqid("php_"); //当然你

php实现Mongodb自定义方式生成自增ID的方法_php技巧

本文实例讲述了php实现Mongodb自定义方式生成自增ID的方法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: //首先创建一个自动增长id集合 ids >db.ids.save({name:"user", id:0}); //可以查看一下是否成功 > db.ids.find(); { "_id" : ObjectId("4c637dbd900f00000000686c"), "name" : &q

php生成年月日下载列表的方法_php技巧

本文实例讲述了php生成年月日下载列表的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function mdy($mid = "month", $did = "day", $yid = "year", $mval, $dval, $yval) {   if(empty($mval)) $mval = date("m");   if(empty($dval)) $dval = date("d&q

php删除文本文件中重复行的方法_php技巧

本文实例讲述了php删除文本文件中重复行的方法.分享给大家供大家参考.具体分析如下: 这个php函数用来删除文件中的重复行,还可以指定是否忽略大小写,和指定换行符 /** * RemoveDuplicatedLines * This function removes all duplicated lines of the given text file. * * @param string * @param bool * @return string */ function RemoveDupl

php绘图之生成饼状图的方法_php技巧

本文实例讲述了php绘图之生成饼状图的方法.分享给大家供大家参考.具体如下: 这里要实现的功能是人口分布比例图,由扇形组成一个圆,每个扇形颜色不一样. 复制代码 代码如下: <?php $array = array("北京"=>1925,"上海"=>2016,"广州"=>1256,"深圳"=>980); $arr_key = array_keys($array); $color = array()

PHP随机生成信用卡卡号的方法_php技巧

本文实例讲述了PHP随机生成信用卡卡号的方法.分享给大家供大家参考.具体分析如下: 这段PHP代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用途,否则后果自负. <?php /* PHP credit card number generator Copyright (C) 2006 Graham King graham@darkcoding.net This program is free software; you can redistribute

php去掉文件前几行的方法_php技巧

本文实例讲述了php去掉文件前几行的方法.分享给大家供大家参考.具体如下: 比如去掉lrc文件中开头几行: [ti:] [ar:] [al:] [by:cww.99Lrc.net] [00:00.59]dasfdasfasdf [00:30.18]dafadsf php实现代码如下: <?php foreach (new DirectoryIterator('./') as $fileInfo) { if($fileInfo->isDot()) continue; if($fileInfo-&

php生成随机密码的几种方法_php技巧

随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考. 方法一:      1.在 33 – 126 中生成一个随机整数,如 35,     2.将 35 转换成对应的ASCII码字符,如 35 对应 #     3.重复以上 1.2 步骤 n 次,连接成 n 位的密码      该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33

CodeIgniter生成网站sitemap地图的方法_php技巧

1.建立了一个名为sitemap的控制器 复制代码 代码如下: <?phpif (!defined('BASEPATH')) exit ('No direct script access allowed'); class Sitemap extends CI_Controller{ public function __construct() {  parent::__construct();  $this->load->model('sitemapxml');  }  function