php curl 传递数据

<?php
header("Content-type: text/html; charset=utf-8");    

/**
* curl 传递数据
*/
class curl {
	private $curl_resource;
	private $url = '';
	private $input = array();
	private $curl_error = '';
	private $curl_info = '';
	public  $response;
	public function __construct($url) {
		$this->url = $url;
	}
	public function get_info() {
		return array('url'=>$this->url,'input'=>$this->input,'curl_error'=>$this->curl_error,'curl_info'=>$this->curl_info);
	}
	private function connect() {
		$this->curl_resource = curl_init();
		curl_setopt($this->curl_resource, CURLOPT_HEADER, 0 ); // 过滤HTTP头
		curl_setopt($this->curl_resource,CURLOPT_RETURNTRANSFER, 1);// 显示输出结果
		curl_setopt($this->curl_resource, CURLOPT_TIMEOUT, 30);    // 设置超时限制防止死循环
	}
	public function post($input) {
		$this->connect();
		$input = (array) $input;
		$this->input = $input;
        $input = http_build_query($input); //根据数组产生一个urlencode之后的请求字符串
        curl_setopt($this->curl_resource, CURLOPT_URL, $this->url);
        curl_setopt($this->curl_resource,CURLOPT_POST,true); // post传输数据
        curl_setopt($this->curl_resource,CURLOPT_POSTFIELDS,$input); // post传输数据
        $this->curl_error = curl_error($this->curl_resource);
        $this->curl_info = curl_getinfo($this->curl_resource);
        $this->response = curl_exec($this->curl_resource);
        curl_close($this->curl_resource);
		return $this->response;
	}
	public function get($input) {
		$this->connect();
		$input = (array) $input;
		$this->input = $input;
        $input = $this->url.'?'.http_build_query($input);
        curl_setopt($this->curl_resource, CURLOPT_URL, $input);
        $this->response = curl_exec($this->curl_resource);
        curl_close($this->curl_resource);
		return $this->response;
	}
}

$curl = new curl('http://www.test.com/index.php');
print_r($curl->post('post传递数据'));
var_dump($curl->get_info());
print_r($curl->get('get传递数据'));
var_dump($curl->get_info());

 

转载于:https://www.cnblogs.com/buexplain/p/4693640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值