CURL模拟HTTP请求

/**
* CURL模拟HTTP请求
* @param string $url
* @param string $type
* @param array $data
* @return array|boolean
*/
function curlData($url, $type = 'GET', $data = array()){
$ch = curl_init();
if(empty($url) || ! $ch) return false;
if(strtoupper($type) == 'POST'){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}else{
$url .= '?' . http_build_query($data);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
//$err_no = curl_errno($ch);
//$err_info = curl_getinfo($ch);
curl_close($ch);
return $result;
}

  1. /** 
  2.  *  
  3.  * @param $url 
  4.  * @param $data 
  5.  * @param $method 
  6.  */  
  7. function curlrequest($url,$data,$method='post'){  
  8.     $ch = curl_init(); //初始化CURL句柄   
  9.     curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL  
  10.     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出   
  11.     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式  
  12.       
  13.     curl_setopt($ch,CURLOPT_HTTPHEADER,array("X-HTTP-Method-Override: $method"));//设置HTTP头信息  
  14.     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串  
  15.     $document = curl_exec($ch);//执行预定义的CURL   
  16.   
  17.     curl_close($ch);  
  18.       
  19.     return $document;  
  20. }  
  21.   
  22. $url = 'www.wxh.com/3.php';  
  23. $data = "m=1&c=2&jaingxi=67";  
  24. $return = curlrequest($url, $data, 'put');  
  25. var_dump($return);
/**
* Func 生成短URL
* @param string $url 源路径地址
* @param int $type 1-7 生成短url的域名 2是t.cn
*/
function GetShortUrl ($url,$type = 2){
$path = 'http://www.ft12.com/create.php?m=index&a=urlCreate';//生成短连接网站
$data['url'] = $url;
$data['type'] = $type;
$content = curlData($path,'post' , $data);
if($content){
$result = json_decode($content, true);
if($result['status'] == 1){
return $result['list'];
}else{
return false;
}
}
}

转载于:https://www.cnblogs.com/hanling/p/7541697.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值