PHP文件中模拟POST向指定地址发送请求

直接上例子

public function curl_post($url,$array){  
   
        $curl = curl_init();  
        // 设置提交的url  
        curl_setopt($curl, CURLOPT_URL, $url);  
        //设置头文件的信息作为数据流输出  
        curl_setopt($curl, CURLOPT_HEADER, 0);  
        //设置获取的信息以文件流的形式返回,而不是直接输出。  
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
        //设置post方式提交  
        curl_setopt($curl, CURLOPT_POST, 1);  
        //设置post数据  
        $post_data = $array;  
        curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);  
        //执行命令  
        $data = curl_exec($curl);  
        //关闭URL请求  
        curl_close($curl);  
      //获得数据并返回  
        return $data;  
    }

//or

function postXmlCurl($xml, $url, $useCert = false, $second = 30){         
            $ch = curl_init();  
            //设置超时  
            curl_setopt($ch, CURLOPT_TIMEOUT, $second);  
            curl_setopt($ch,CURLOPT_URL, $url);  
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);  
            curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);  
            //设置header  
            curl_setopt($ch, CURLOPT_HEADER, FALSE);  
            //要求结果为字符串且输出到屏幕上  
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);  
            if($useCert == true){  
                //设置证书  
                //使用证书:cert 与 key 分别属于两个.pem文件  
                curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');  
                //curl_setopt($ch,CURLOPT_SSLCERT, WxPayConfig::SSLCERT_PATH);  
                curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');  
                //curl_setopt($ch,CURLOPT_SSLKEY, WxPayConfig::SSLKEY_PATH);  
            }  
            //post提交方式  
            curl_setopt($ch, CURLOPT_POST, TRUE);  
            curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);  
            //运行curl  
            $data = curl_exec($ch);  
            //返回结果  
            if($data){  
                curl_close($ch);  
                return $data;  
            } else {   
                $error = curl_errno($ch);  
                curl_close($ch);  
                return false;  
            }  
        }

在程序中调用的方法


        $data = array('req'=>$req);//定义一个要发送的信息
        $url = 'http://222.35.5.7/vapi/service/cancelOrder';//定义目标URL
        $result = $this->curl_post($url,$data);//PHP中调用
        var_dump($result);//打印结果

实现get请求


function curl_get($url){
    $curl = curl_init();
    //设置抓取的url
    curl_setopt($curl, CURLOPT_URL, $url);
    //设置头文件的信息作为数据流输出
    curl_setopt($curl, CURLOPT_HEADER, 0);
    //设置获取的信息以文件流的形式返回,而不是直接输出。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    //执行命令
    $data = curl_exec($curl);
    //关闭URL请求
    curl_close($curl);
    //显示获得的数据
    return $data;
}

你可能感兴趣的:(PHP文件中模拟POST向指定地址发送请求)