function _grab($curl,$ip='',$referer='',$postInfo='',$cookie=''){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
//不输出头
curl_setopt($ch, CURLOPT_HEADER, 0);
//以字符串返回获取的信息,不直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //SOCKS代理
if($ip){
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$string_arr = explode(":", $ip);
curl_setopt($ch, CURLOPT_PROXY, $string_arr[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $string_arr[1]);
} //如果是https链接,不验证证书
if(substr_count($curl,'https')){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
//POST
if($postInfo){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postInfo);
}
//加入cookie
if($cookie){
curl_setopt($ch,CURLOPT_COOKIE,$cookie);
}
//模拟来路
if($referer){
curl_setopt($ch, CURLOPT_REFERER, $referer);
} //模拟浏览器
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'); //执行
$content = curl_exec($ch);
//错误处理
if ($content === false) {
return "网络请求出错: " . curl_error($ch);
exit();
}
return $content;
}

//php返回json

echo json_encode($data);

//php将返回的json转换成数组

json_decode($data,true);

//爬虫
function _grab($curl,$postInfo='',$cookie='',$referer=''){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
//不输出头
curl_setopt($ch, CURLOPT_HEADER, 0);
//以字符串返回获取的信息,不直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果是https链接,不验证证书
if(substr_count($curl,'https')){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
//POST
if($postInfo){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postInfo);
}
//加入cookie
if($cookie){
curl_setopt($ch,CURLOPT_COOKIE,$cookie);
}
//模拟来路
if($referer){
curl_setopt($ch, CURLOPT_REFERER, $referer);
} //模拟浏览器
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'); //执行
$content = curl_exec($ch);
//错误处理
if ($content === false) {
return "网络请求出错: " . curl_error($ch);
exit();
}
return $content;
}

curl模板----php发送post,get请求的更多相关文章

  1. php使用curl模拟多线程发送请求

    每个PHP文件的执行是单线程的,但是php本身也可以用一些别的技术实现多线程并发比如用php-fpm进程,这里用curl模拟多线程发送请求.php的curl多线程是通过不断调用curl_multi_e ...

  2. php CURL 发送get,post请求

    // 发送一个get请求 $url 发送地址    function get($url)    {        //初始化操作        $curl = curl_init($url);     ...

  3. php 中使用cURL发送get/post请求,上传图片,批处理

    cURL是利用url语法规定传输文件和数据的工具.php中有curl拓展,一般用来实现网络抓取,模拟发送get   post请求,文件上传. 在php中建立curl的基本步骤如下: 1 初始化     ...

  4. php curl发送post get请求

    POST: function curl_post_https($url, $data, $header){ // 模拟提交数据函数 $curl = curl_init(); // 启动一个CURL会话 ...

  5. PHP实现微信模板消息发送给指定用户

    使用公众号的模板消息功能,必须是认证过的服务号,需要发送微信号的openid,同一微信号在不同公众号下的openid是不同的,在公众号下是唯一的,获取不到微信号 进入公众平台  功能->模板消息 ...

  6. 发送POST测试请求的若干方法

    最近在工作中需要测试发送带Json格式body值的HTTP POST请求.起初,我在Linux环境下使用curl命令去发送请求,但是,在发送的过程中却遇到了一些问题,经过一段时间的摸索,发现了以下几种 ...

  7. 使用CURL实现GET和POST方式请求

    /** 使用curl方式实现get或post请求@param $url 请求的url地址@param $data 发送的post数据 如果为空则为get方式请求return 请求后获取到的数据 */f ...

  8. php使用CURL实现GET和POST方式请求

    CURL请求,支持GET和POST两种方式,默认为GET方式,如果传第二个参数则为POST方式请求,设置了超时时间,避免程序卡死. /** 使用curl方式实现get或post请求 @param $u ...

  9. 如果调用ASP.NET Web API不能发送PUT/DELETE请求怎么办?

    理想的RESTful Web API采用面向资源的架构,并使用请求的HTTP方法表示针对目标资源的操作类型.但是理想和现实是有距离的,虽然HTTP协议提供了一系列原生的HTTP方法,但是在具体的网络环 ...

随机推荐

  1. 0级搭建类006-Oracle Solaris 安装 (10.13) 公开

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...

  2. Python标准库之subprocess模块

    运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准库中的subprocess ...

  3. 使用ADO.NET 访问数据库

    一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象 ...

  4. Ubuntu 18.04安装配置Apache Ant

    Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...

  5. 使用Vue实现一个树组件

    HTML代码: <!DOCTYPE html> <html> <head> <title>Vue Demo</title> <meta ...

  6. Hadoop报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=xxxx

    问题出现原因: 因为远程提交hadoop的任务的情况下如果,没有hadoop 的系统环境变量,就会读取当前主机的用户名,所以Hadoop集群的节点中没有该用户名的权限,所以出现的异常. 解决方法: S ...

  7. kuangbin专题专题十一 网络流 Minimum Cost POJ - 2516

    题目链接:https://vjudge.net/problem/POJ-2516 思路:对于每种商品跑最小费用最大流,如果所有商品和人一起建图跑,O(v^2*m)数量级太大,会超时. 把店里的商品拆点 ...

  8. yii2 生成随机字符串

    uuid uuid use Faker\Provider\Uuid; Uuid::uuid(); yii自带 生成32位字符串 Yii::$app->getSecurity()->gene ...

  9. asp.net web core 开发问题汇总(1)

    1   ASP.NET Core 设置默认静态起始页 转载地址:ASP.NET Core 设置默认起始页(如default.html) 注:1  默认情况下ASP.NET Core应用程序时不支持静态 ...

  10. 使用VSCode创建简单的Razor Webapp--2.添加模型

    1.新建Models文件夹,并新建Movie.cs文件 using System; using System.ComponentModel.DataAnnotations; namespace Raz ...