curl post 与 get
程序员文章站
2022-05-30 18:49:35
...
代码
function curl_post_contents($url, $data = array(), $cookiepath = '',$timeout=10){ $userAgent = 'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)'; $referer = $url; if(!is_array($data) || !$url) return ''; $post = ''; foreach($data as $key => $value){ $post .= $key . '=' . urlencode($value) . '&'; } rtrim($post, '&'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //设置访问的url地址 curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //设置超时 curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); //用户访问代理 User-Agent curl_setopt($ch, CURLOPT_REFERER, $referer); //设置 referer curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); //跟踪301 curl_setopt($ch, CURLOPT_POST, 1); //指定post数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //添加变量 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiepath); //COOKIE的存储路径,返回时保存COOKIE的路径 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回结果 $content = curl_exec($ch); curl_close($ch); return $content; } function curl_get_contents($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, true); curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 86400); // 缓存一天 $content = curl_exec($ch); curl_close($ch); return $content; }
推荐阅读
-
ajax请求post和get的区别以及get post的选择
-
android使用url connection示例(get和post数据获取返回数据)
-
解析curl提交GET,POST,Cookie的简单方法
-
帝国CMS漏洞 后台代码get webshell权限漏洞详情与修复
-
postman的安装与使用方法(模拟Get和Post请求)
-
Python使用post及get方式提交数据的实例
-
使用PHP Socket 编程模拟Http post和get请求
-
关于Ajax的get与post浅分析,同步请求与异步请求;
-
Jquery中ajax提交表单几种方法(get、post两种方法)
-
AJAX使用get与post模式的区别分析