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);
?>
server.php
<?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;
}