菜鸡源码,专注精品下载!
当前位置:首页 > 建站教程 > 建站知识

示例:使用curl进行GET和POST请求的封装函数

发布时间:2024-01-05  栏目:建站知识   浏览:   分类:php教程 PHP函数 post

```python import requests def curl_get(url, params=None): response = requests.get(url, params=params) return response.text def curl_post(url, data=None, json=None): response = requests.post(url, data=data, json=json) return response.text ```

get请求函数封装

functiongetUrl($url,$header=[]){$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_HTTPGET,true);if($header){curl_setopt($ch,CURLOPT_HTTPHEADER,$header);}curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置超时时间:30scurl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//忽略ssl检测curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//1或TRUE将curl_exec()获取的信息以字符串返回,而不是直接输出。-curl_setopt($ch,CURLINFO_HEADER_OUT,true);//TRUE时追踪句柄的请求字符串,从PHP5.1.3开始可用。这个很关键,就是允许你查看请求header$output=curl_exec($ch);if(!$output){//echo"request$urlfail:",(array)curl_error($ch);//记录日志}curl_close($ch);//echo"request$urlsuccess:".json_encode(array($url,$header,$output),true);//记录日志return$output;}

del请求函数封装

functiondelUrl($url,$header=[]){$ch=curl_init();curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'DELETE');curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);//为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面curl_setopt($ch,CURLOPT_HTTPHEADER,$header);curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置超时时间:30scurl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//忽略ssl检测curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//1或TRUE将curl_exec()获取的信息以字符串返回,而不是直接输出。-curl_setopt($ch,CURLINFO_HEADER_OUT,true);//TRUE时追踪句柄的请求字符串,从PHP5.1.3开始可用。这个很关键,就是允许你查看请求headercurl_setopt($ch,CURLOPT_URL,$url);$output=curl_exec($ch);if(!$output){//echo"request$urlfail:",(array)curl_error($ch);//记录日志}curl_close($ch);//echo"request$urlsuccess:".json_encode(array($url,$header,$output),true);//记录日志return$output;}

put请求函数封装

functionputUrl($url,$data=[],$header=[]){$ch=curl_init();if(!emptyempty($data)){curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//定义提交的数据}curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'PUT');curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);//为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面curl_setopt($ch,CURLOPT_HTTPHEADER,$header);curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置超时时间:30scurl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//忽略ssl检测curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//1或TRUE将curl_exec()获取的信息以字符串返回,而不是直接输出。-curl_setopt($ch,CURLINFO_HEADER_OUT,true);//TRUE时追踪句柄的请求字符串,从PHP5.1.3开始可用。这个很关键,就是允许你查看请求headercurl_setopt($ch,CURLOPT_URL,$url);$output=curl_exec($ch);if(!$output){//echo"request$urlfail:",(array)curl_error($ch);//记录日志}curl_close($ch);//echo"request$urlsuccess:".json_encode(array($url,$header,$output),true);//记录日志return$output;}

post请求函数封装

functionpostUrl($url,$data,$header=[]){$ch=curl_init();if(!emptyempty($data)){curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);}curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);//为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面curl_setopt($ch,CURLOPT_HTTPHEADER,$header);curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置超时时间:30scurl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//忽略ssl检测curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//1或TRUE将curl_exec()获取的信息以字符串返回,而不是直接输出。-curl_setopt($ch,CURLINFO_HEADER_OUT,true);//TRUE时追踪句柄的请求字符串,从PHP5.1.3开始可用。这个很关键,就是允许你查看请求headercurl_setopt($ch,CURLOPT_URL,$url);$output=curl_exec($ch);if(!$output){//echo"request$urlfail:",(array)curl_error($ch);//记录日志}curl_close($ch);//echo"request$urlsuccess:".json_encode(array($url,$header,$output),true);//记录日志return$output;}

post JSON请求函数封装

functionpostJsonUrl($url,$data,$header=[]){$data=json_encode($data);$ch=curl_init();if(!emptyempty($data)){curl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);}$header[]='Content-Type:application/json;charset=utf-8';curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);//为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面curl_setopt($ch,CURLOPT_HTTPHEADER,$header);curl_setopt($ch,CURLOPT_TIMEOUT,30);//设置超时时间:30scurl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//忽略ssl检测curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//1或TRUE将curl_exec()获取的信息以字符串返回,而不是直接输出。-curl_setopt($ch,CURLINFO_HEADER_OUT,true);//TRUE时追踪句柄的请求字符串,从PHP5.1.3开始可用。这个很关键,就是允许你查看请求headercurl_setopt($ch,CURLOPT_URL,$url);$output=curl_exec($ch);if(!$output){//echo"request$urlfail:",(array)curl_error($ch);//记录日志}curl_close($ch);//echo"request$urlsuccess:".json_encode(array($url,$header,$output),true);//记录日志return$output;}


评论
建站知识
建站知识
使用技巧
调试安装
运营推广