zoukankan      html  css  js  c++  java
  • cURL模拟HTTP请求(支持HTTPS)

    function setHttpRequest($url,$headers,$params=array(),$method="GET") {
            $ci = curl_init();
            curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 30);
            curl_setopt($ci, CURLOPT_TIMEOUT, 30);
            
            curl_setopt($ci, CURLOPT_CUSTOMREQUEST, $method);
    
            curl_setopt($ci, CURLOPT_URL, $url);
            curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($ci, CURLOPT_HEADER, FALSE);
    		
    		curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查  
    		curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
    
            if($headers!=""){
                curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
            }else {
                curl_setopt($ci, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
            }
            switch (strtoupper($method)){
                case 'POST':
                        curl_setopt($ci, CURLOPT_POST, TRUE);
                    
                        curl_setopt($ci, CURLOPT_POSTFIELDS, $params);
                    break;
                case 'PUT':
                    curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'PUT');
                 
                    curl_setopt($ci, CURLOPT_POSTFIELDS, $params);
        
                    break;
                case 'PATCH':
                    curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'PATCH');
                 
                    curl_setopt($ci, CURLOPT_POSTFIELDS, $params);
                
                    break;
                case 'DELETE':
                    curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');
                   
                    curl_setopt($ci, CURLOPT_POSTFIELDS, $params);
                 
                    break;
                default:
                    curl_setopt($ci, CURLOPT_HTTPGET, TRUE);
                    break;
            }
            $response = curl_exec($ci);
            $httpCode = curl_getinfo($ci);
            curl_close($ci);
            return $response;
        }
    
    
  • 相关阅读:
    [SCOI 2003] 字符串折叠
    [POJ 3252] Round Numbers
    [ZJOI 2010] 数字计数
    [POJ 2282] The Counting Problem
    [POJ 1191] 棋盘分割
    [POJ 3345] Bribing FIPA
    [POJ 2785] 4 Values whose Sum is 0
    [NOIP 2017] 列队
    [NOIP 2017] 宝藏
    基于Qt Gui的Led控制显示程序
  • 原文地址:https://www.cnblogs.com/weblm/p/7460548.html
Copyright © 2011-2022 走看看