1. http Get

简单的只需要 这四行 就

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, "http://site" );
$output = curl_exec($ch);
curl_close ( $ch );

复杂的

public static function curlGet($url,$cookiefile,$header=null){
try{
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
//不知道如何看发出去的数据是什么样子的 使用这句话 可通过抓包工具查看到
// 需要抓包工具配合使用
curl_setopt($ch,CURLOPT_PROXY,'192.168.2.221:8889');
if($header){
// curl_setopt ( $ch, CURLOPT_HEADER, 1 );
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
// curl_setopt ( $ch, CURLOPT_COOKIE,$header['Cookie'] );
// curl_setopt ( $ch, CURLOPT_COOKIESESSION,$header['Cookie'] );
}
else{
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
} if($cookiefile){
curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookiefile ); // 读取cookie
curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiefile ); // 设置Cookie信息保存在指定的文件中
} $output = curl_exec($ch);
// 获取curl 信息
$information = curl_getinfo($ch);
curl_close ( $ch );
}catch(\Exception $e){
print_r($e->getMessage());
}
return $output;
}

  

2. http Post

public static function curlPost($url,$data,$cookiefile=null,$header=null){
try{
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt($ch,CURLOPT_PROXY,'192.168.2.221:8889');
if($header){
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
else{
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
}
if($cookiefile){
          curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookiefile ); // 读取cookie
curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiefile ); // 设置Cookie信息保存在指定的文件中
}
      //!!!注意data的格式
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data);
//设置响应超时时间
curl_setopt($ch, CURLOPT_TIMEOUT, 120); $output = curl_exec($ch);
if($output === false){
if(curl_errno($ch) == CURLE_OPERATION_TIMEDOUT){
//处理逻辑
}
}
$information = curl_getinfo($ch);
curl_close ( $ch );
}catch(\Exception $e){
print_r($e->getMessage());
}
return $output;
}

  

3. https Get (未完待续)

4. https Post(未完待续)

5. curl 使用过程中 发现不足的地方(未完待续)

php curl使用 常用操作的更多相关文章

  1. [容器]docker-ce安装最新版-docker常用操作

    社区: http://www.dockerinfo.net/rancher http://dockone.io/ https://www.kubernetes.org.cn/ 1,docker安装配置 ...

  2. Elasticsearch本地环境安装和常用操作

    本篇文章首发于我的头条号Elasticsearch本地环境安装和常用操作,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干 ...

  3. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  4. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  5. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  6. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  7. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  8. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  9. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

随机推荐

  1. 西门子SCL读写DB数据

    数据块间接寻址方式,仅供参考. STATUS_1:= DB11.DW[COUNTER]; //字节间接寻址STATUS_2:= DB12.DX[WNO, BITNO]; //位间接寻址,用户改变WNO ...

  2. 内联元素padding与高度可控的分隔线实例页面

    html: <a href="">登录</a><a href="">注册</a> css: a + a:befo ...

  3. UEditor之实现配置简单的图片上传示例 转

    http://blog.csdn.net/huangwenyi1010/article/details/51637427 + http://blog.csdn.net/cr135810/article ...

  4. django ----视图和路由

    django的view(视图) 一个视图函数,简称视图,是一个简单python函数,他接受web请求并且返回一个响应 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者 ...

  5. SqlSugar ORM 的学习

    http://www.codeisbug.com/Doc/8/1163 https://www.cnblogs.com/sunkaixuan/p/6082664.html

  6. jQuery登录界面的文本框焦点代码

    <script type="text/javascript"> $(function(){ $("#address").focus(function ...

  7. Python变量和常量

    1.什么是变量 变量:核心在于变和量儿字,变->变化,量->状态如何定义? x=1 变量名 变量赋值符号:= 变量值:1 其中变量名又称为标识符: 1. 可以是字母,数字,下划线的任意组合 ...

  8. 软件开发者路线图梗概&书摘chapter5

    恒久学习:整个职业生涯,反馈回路,了解弱点 1.提高带宽:多维度.高效获取知识 博客.关注twitter动态.订阅邮件列表.加入本地用户组.技术大会.联系书的作者.在线教程 从信息的海洋中回到实际软件 ...

  9. robotframework中的用evaluate关键字进行运算(随机数+转换+运算)

    当我们在写rf测试用例时,可能需要随机产生一些数据,可能需要将已有的数据进行转换,做简单的运算等:此时我们可以用万能的evaluate来实现 ,后面一般均适用python表达式来进行实现. 接下来详细 ...

  10. sourceforge.net安装网站程序数据库相关

    sourceforge.net安装网站程序数据库相关 我们应该知道sourceforge.net是可以安装网站(当做一个虚拟空间使用的) 但是在安装cms程序的时候那时的数据库地址再填写“localh ...