php curl使用 常用操作
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使用 常用操作的更多相关文章
- [容器]docker-ce安装最新版-docker常用操作
社区: http://www.dockerinfo.net/rancher http://dockone.io/ https://www.kubernetes.org.cn/ 1,docker安装配置 ...
- Elasticsearch本地环境安装和常用操作
本篇文章首发于我的头条号Elasticsearch本地环境安装和常用操作,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干 ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- nodejs配置及cmd常用操作
一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...
- Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理
摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■ 详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...
- python 异常处理、文件常用操作
异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm
随机推荐
- reducer 按key聚合
#coding=utf8 import sys import itertools import json reload(sys) sys.setdefaultencoding("utf8&q ...
- Centos7.5系统 SSH升级到7.9
SSH7.9安装 #!/bin/bash#删除旧版ssh包 危险操作,不删除也可以安装,建议跳过此操作.#rpm -e `rpm -qa | grep openssh` #安装zlib依赖包wget ...
- git和redmine同步
最近实现了github以及内部的gitbucket与redmine的同步. redmine是内部使用的一套工单系统,用于跟踪bug和需求,由于最近同时开发的版本比较多,在不同分支的提交容易漏掉.现在改 ...
- 田螺便利店—filezilla实现Linux和windows通信
新站点改为sftp,端口为22 2,虚拟机通过桥接模式连网,ip地址为:192.168.119.147 已通过新建站点方式(SFTP)连接服务器(使用user账户),但是在使用系统root账号登录时失 ...
- springBoot 自动配置原理--自己新建一个 starter
上篇我们说到 springboot 和 SSM 框架的区别,今天我们就看看 springboot 到底为我们做了哪些事情,让我们开发变得如此简单. springboot 中起着重要作用的是 start ...
- jquery Ajax 实现图片上传的功能。
$('#image').on('change', function () { var url = ""; var form = new FormDa ...
- MHA-Atlas-MySQL高可用集群2
MHA脚本管理方式 (1)获取管理脚本master_ip_failover 提示:yum安装的manager是没有这个脚本的. 我们需要从manager的源码包里复制一个. [root@mysql ...
- python excle写数据
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/4/24 10:30 # @File : Excle写.py # @Softw ...
- httping使用
httping --help: 显示帮助 httping -V: 显示版本 1.httping国内网站 I) httping -g http://www.jd.com -c 5 -t 5 -F -s ...
- 【Jest】笔记一:环境配置
一.开发环境 Mac node.js:v9.9.0 下载链接:http://nodejs.cn/download/ VScode 下载链接:https://code.visualstudio.com ...