CURL请求

一般的CURL

//1.启动一个curl事务,也可以此时不设置,通过curl_setopt($curl,CURLOPT_URL,'http://unun.in')进行设置
//$curl = curl_init('https://pic3.zhimg.com/e8fdec7f795d217f16faa1e2cd100522_l.png');
$curl = curl_init('https://www.baidu.com');
//2.可以多次调用curl_setopt进行设置
//curl_setopt($curl);
//为真时,设置curl_exec()返回的数据以文件流(字符串)的形式返回,而不是直接输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//curl_setopt($curl,CURLOPT_HEADER,0);

//对于https协议出错的可以尝试设置本项
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

//3.使用curl_exec执行事务
$res = curl_exec($curl);
//header('Content-Type:image/png');
echo $res;
//4.关闭curl
curl_close($curl);

带文件头的CURL

$curl = curl_init();
//curl_setopt($curl,CURLOPT_URL,'https://www.zhihu.com/people/wangerhei/activities');
curl_setopt($curl,CURLOPT_URL,'https://www.zhihu.com/r/answers/43605938/comments');
//设置结果不直接显示
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//准备header的数据
$header = array();


$header['Cookie'] = 'd_c0="AGCAoFMCkwqPTh-wcRVLXiGFBxs5ekDyHZ0=|1474444304"; _zap=3c3e3731-8d47-4e57-bf24-a94bb89cf783; q_c1=bba15b027188466c990086af0b50d481|1479798296000|1474444304000; a_t="2.0AADA-lQjAAAXAAAAeX5nWAAAwPpUIwAAAGCAoFMCkwoXAAAAYQJVTdJSU1gAUBRJmD8n25v-homhR22_um1e6X09tdek5gL1tJZhqKqK-yJ3LJTuVQ=="; l_cap_id="MzdhNWJhNTJjMTEzNDg1NjhhNzc2YzdjMTg3NTIxMzg=|1481726617|32d4449b9db83f73e44d77d7d9fd15146f1bd925"; cap_id="N2Y5NWMwZGU0YzAyNDY3ZmJlZGI3MzQ0MGRlZjdmMzU=|1481726617|f82e436128dac750d45f30cfe614910c98e145c3"; __utmt=1; __utma=51854390.1190671945.1481555213.1481625674.1481725968.5; __utmb=51854390.4.10.1481725968; __utmc=51854390; __utmz=51854390.1481625674.4.3.utmcsr=zhihu.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __utmv=51854390.000--|2=registration_date=20140102=1^3=entry_date=20160921=1; r_cap_id="MjY3ZGMwMTlkZThlNDUwZjg2YWFmNTFiYjlmYWI5OGE=|1481726618|72e7f8a0741bda1186d4e8429c428704c70b7e6e"; login="ZjQ4MDMzMmM4NTYzNGRmNzlmZGFkMGZjZTYyMzAwYzU=|1481726654|9686c9a66dbc58c16bfd6e92935addaa1105e94b"; z_c0=Mi4wQUFEQS1sUWpBQUFBWUlDZ1V3S1RDaGNBQUFCaEFsVk52dWQ0V0FCMUpQdHZ2Q1pWY1lZQlJWeU9pWUVMMEk5a2RR|1481726654|4f020b40cd5db4fde8a325c6423d343a28b56f24; n_c=1';


//设置header的数据
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
//为真时会发送POST请求
curl_setopt($curl,CURLOPT_POST,1);

//curl_setopt($curl,CURLOPT_ENCODING,'gzip');
$data = "{'content':'牛逼到不行!'}";
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);

$res = curl_exec($curl);

print_r(json_decode($res,true));
curl_close($curl);

CURL上传

//1.启动一个curl事务
$curl = curl_init();
//2.可以多次调用curl_setopt进行设置
//请求地址
curl_setopt($curl,CURLOPT_URL,'http://localhost/oop/3.php');
//为真时,设置curl_exec()返回的数据以文件流(字符串)的形式返回,而不是直接输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//为真时会发送POST请求
curl_setopt($curl,CURLOPT_POST,1);
//设置POST过去的数据
//普通的post请求
///$data = array('a'=>'abc','b'=>222);
//curl_setopt($curl,CURLOPT_POSTFIELDS, $data);


//如果通过CURLOPT_POSTFIELDS设置上传文件的话,在PHP5.5以后的版本需要设置CURLOPT_SAFE_UPLOAD为假,为使用不安全模式
curl_setopt($curl,CURLOPT_SAFE_UPLOAD,0);
//单文件上传
//$data = array('a'=>'abc','b'=>222,'file'=>'@./1.png');
//多文件上传
$data = array('a'=>'abc','b'=>222,'file[0]'=>'@./1.png','file[1]'=>'@./2.png;type=image/png');
curl_setopt($curl,CURLOPT_POSTFIELDS, $data);



//3.使用curl_exec执行事务
$res = curl_exec($curl);
//4.关闭curl
curl_close($curl);

你可能感兴趣的:(Linux,curl,http)