curl 微信接口获取素材

news/2024/7/19 11:25:10 标签: php, 爬虫
curl常量设置
bool类型
CURLOPT_HEADER 是否显将头信息作为数据流输出 一般为FALSE
CURLOPT_POST 默认是GET 需要POST时设置TURE 启用时会变成post方式
CURLOPT_SSL_VERIFYPEER 禁用后禁止从服务端验证 做爬虫时一般禁用掉
CURLOPT_SSL_VERIFYHOST 禁用后禁止验证SSL 做爬虫时一般禁用掉
CURLOPT_RETURNTRANSFER 启用后返回返回执行结果 一般要true
int类型
CURLOPT_CONNECTTIMEOUT 发起链接是访问的时间 类似url访问网址等待的时间 一般是0 就是不限制
CURLOPT_INFILESIZE 设置上传文件大小限制 单位字节
CURLOPT_PORT 设置访问的端口 默认为80
CURLOPT_PROXYPORT 设置代理服务器访问的端口 默认为80
CURLOPT_TIMEOUT 设置最大访问时间 一般120 单位秒

CURLFILES文件类
name 待上传文件名称 必填
mime 文件mime类型 选填 会自动解析
postname 上传数据里面的文件名称 选填 会自动解析

API 类似于可远程访问的函数 有接受值和返回值
//获取微信图片
function get_photo($token,$logo)
{
$url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=$token";
$data = array('buffer' => '@'.$logo);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
// curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, FALSE);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return_data = curl_exec($ch);
curl_close($ch);
$return_data = json_decode($return_data,true);
return $return_data['url'];
}
//通用curl
function curl_http($url, $params, $method = 'GET', $header = array(), $multi = false){
$opts = array(
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => $header
);
/* 根据请求类型设置特定参数 */
switch(strtoupper($method)){
case 'GET':
$opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
break;
case 'POST':
//判断是否传输文件
$params = $multi ? $params : http_build_query($params);
$opts[CURLOPT_URL] = $url;
$opts[CURLOPT_POST] = 1;
$opts[CURLOPT_POSTFIELDS] = $params;
break;
default:
throw new Exception('不支持的请求方式!');
}
/* 初始化并执行curl请求 */
$ch = curl_init();
curl_setopt_array($ch, $opts);
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if($error) throw new Exception('请求发生错误:' . $error);
return $data;
}

转载于:https://www.cnblogs.com/shadow-li/p/9305489.html


http://www.niftyadmin.cn/n/835658.html

相关文章

洛谷P3723 礼物

以前看到过,但是搞不倒。知道了算法之后就好搞了。 题意:给定两个长为n的序列,你可以把某个序列全部加上某个数c,变成循环同构序列。 求你操作后的min∑(ai - bi) 解: 设加上的数为c,那么得到一个柿子&…

C# 8新提案让泛型Attribute成为现实

从一开始, Attribute就是.NET的一部分。因此,它们在引入泛型之前就已经被创建好,这意味着如果要引用属性中的类型,必须暴露一个Type参数或属性。例如: [TypeConverter(typeof(X))] 这种模式存在一些限制。在上面的示例…

微信小程序的组件用法与传统HTML5标签的区别

小程序与传统HTML5的区别 小程序刚开放公测,互联网圈内开始了各种解读和猜测。其中有观点认为小程序和HTML5有着紧密关联,甚至小程序就是基于HTML5开发。 经过仔细研究文档和代码开发,从视图层的角度来说,小程序与传统HTML5还是有…

CNCF网络研讨会:Kubernetes 1.13的新功能(视频+幻灯片)

作者:Kubernetes 1.13发布团队,2019年1月10日 此版本继续关注Kubernetes的稳定性和可扩展性,其中在存储和群集生命周期领域的三个主要功能实现普遍可用(GA)。此版本中的显着毕业特征包括:kubeadm简化集群管…

STM32-外部中断实验

原地址:http://www.openedv.com/posts/list/21.htm 这一节,我们将向大家介绍如何使用STM32的外部输入中断。通过第1、2节的学习,我们掌握了STM32的IO口最基本的操作。这节我们将介绍作为外部中断输入口,STM32的需要做哪些设置。本…

阿里云服务器亚太南部 1、亚太南部 2、亚太东北 1、 亚太东北 2是哪个城市

亚太东南 1新加坡亚太东南 2悉尼亚太东南 3吉隆坡亚太东南 5雅加达亚太南部 1孟买亚太东北 1东京

醉酒旅客欲在高铁吸烟遭劝阻 辱骂工作人员和乘警

乘警接报赶来制止男子吸烟(车厢监控视频)。开远铁路公安处供图 乘警接报赶来制止男子吸烟(车厢监控视频)。开远铁路公安处供图 中新网昆明1月30日电(徐红 杜威)近日,在昆明南至广州南的D3836次列车上,一名醉…

产品经理常用软件和网址

作为一名产品经理,如何从纷繁复杂的事务中解脱出来,形成自己的体系显得格外的重要。最近笔者就自己相对喜欢的一些软件和大家分享,希望能帮到初学者。 1:原始工具白板、纸与笔当一些临时会议身边又没有电脑等移动记录工具的时候&a…