PHP中curl是一个很常用的函数,网站抓取,接口对接等都会用到这个函数:简单做过代码测试:
- <?php
- //这2种方式我试了都是可以的
- //$c_url_data = "name=gaoxuxu&pass=123";
- $c_url_data = array('name'=>'gaoxuxu','pass'=>'123');
- $url="http://localhost:8080/curl/server.php";
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt ( $ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $c_url_data );
- $output = curl_exec($ch);
- $info = curl_getinfo($ch);
- print_r($output);
- curl_close($ch);
- ?>
- <?php
- $name = $_POST['name'];
- $pass = $_POST['pass'];
- if($name == 'gaoxuxu' && $pass == '123')
- echo json_encode(array('msg'=>'ok'));
- ?>
封装方法
- public static function https_request($url, $data = null)
- {
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
- if (!empty($data)){
- curl_setopt($curl, CURLOPT_POST, 1);
- curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
- }
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- $output = curl_exec($curl);
- curl_close($curl);
- return $output;
- }