php访问url(get和post请求)
作者:程序员11 时间:2020-06-13 人气:737 QQ交流群\邮箱:1003265987@qq.com
注:调用后可以通过json_decode来解析返回结果:如:
$data= $this->curl_file_post_contents($dataurl, $post_data);
$dataarr = json_decode($data, true);
补充:
使用post请求传递多维数组时报"Array to string conversion"错误
解决办法:
使用 http_build_query() 函数处理一下参数。
改为:
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
要展示的内容
get请求
/*
* php访问url路径,get请求
*/
function curl_file_get_contents($durl){ // header传送格式 $headers = array( "token:1111111111111", "over_time:22222222222", ); // 初始化 $curl = curl_init(); // 设置url路径 curl_setopt($curl, CURLOPT_URL, $durl); // 将 curl_exec()获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true) ; // 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回 curl_setopt($curl, CURLOPT_BINARYTRANSFER, true) ; // 添加头信息 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); // CURLINFO_HEADER_OUT选项可以拿到请求头信息 curl_setopt($curl, CURLINFO_HEADER_OUT, true); // 不验证SSL curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 执行 $data = curl_exec($curl); // 打印请求头信息 // echo curl_getinfo($curl, CURLINFO_HEADER_OUT); // 关闭连接 curl_close($curl); // 返回数据 return $data; }
post请求
/*
* php访问url路径,post请求
*
* durl 路径url
* post_data array() post参数数据
*/
public function curl_file_post_contents($durl, $post_data){ // header传送格式 $headers = array( "token:1111111111111", "over_time:22222222222", ); //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, $durl); //设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, false); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //设置post方式提交 curl_setopt($curl, CURLOPT_POST, true); // 设置post请求参数 curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); // 添加头信息 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); // CURLINFO_HEADER_OUT选项可以拿到请求头信息 curl_setopt($curl, CURLINFO_HEADER_OUT, true); // 不验证SSL curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); //执行命令 $data = curl_exec($curl); // 打印请求头信息 // echo curl_getinfo($curl, CURLINFO_HEADER_OUT); //关闭URL请求 curl_close($curl); //显示获得的数据 return $data; }
注:调用后可以通过json_decode来解析返回结果:如:
$data= $this->curl_file_post_contents($dataurl, $post_data); $dataarr = json_decode($data, true);
补充:
使用post请求传递多维数组时报"Array to string conversion"错误
解决办法:
使用 http_build_query() 函数处理一下参数。
改为:
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
温馨提示:
欢迎阅读本文章,觉得有用就多来支持一下,没有能帮到您,还有很多文章,希望有一天能帮到您。
- 上一篇:PHP添加水印图片和文字
- 下一篇:PHP如何搭建百度Ueditor富文本编辑器