php使用raw数据格式发送curl post get请求,及使用微信消息模版发信息

<?php
/**
 * Created by PhpStorm.
 * User: lhy
 * Date: 2019-02-14
 * Time: 15:19
 */

$appid = 'xx';
$appsecret = 'xx';
$access_token='';


//if (empty($access_token)) {
    $autourl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
    $obj=get_url($autourl);
    $access_token=$obj['access_token'];

    //模板消息
    $temp_url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={$access_token}";

    //组装数据
    $params=[
        'touser'=>'oFDr11eSgvMAeUvEzLSbcpRxV4Fg',
        'template_id'=>'4a8oQXScBH4HK3rKFq15itOe0IbMaP4w6yB3BA8h6uo',
        'url'=>'http://www.baidu.com',
        'data'=>[
            'first'=>[
                'value'=>'有工单安排到你这',
                "color"=>"#173177",
            ],
            'keyword1'=>[
                'value'=>'旗鸣',
                "color"=>"#173177",
            ],
            'keyword2'=>[
                'value'=>'1',
                "color"=>"#173177",
            ],
            'keyword3'=>[
                'value'=>date("Y-m-d H:i:s"),
                "color"=>"#173177",
            ],
            'remark'=>[
                'value'=>'为保证运营效率,请及时操作工单!',
                "color"=>"#173177",
            ],
        ]
    ];
    $result=get_post_json($temp_url,$params);
    var_dump($result);
//} else {
//
//}

function get_post_json($url = '', $post_data = array()) {
    if (empty($url) || empty($post_data)) {
        return false;
    }
    $ch = curl_init();//初始化curl
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_URL,$url);//抓取指定网页
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
    curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: text/plain'));// 文本提交方式,必须声明请求头

    $data = curl_exec($ch);//运行curl
    if($data === false){
        var_dump(curl_error($ch));
    }else{
        curl_close($ch);
        return $data;
    }
}



/**
 * @param $url
 * @return mixed
 */
function get_url($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    $jsoninfo = json_decode($output, true);
    return $jsoninfo;
}

注意看在curl_setopt()函数中的CURLOPT_HTTPHEADER设置。既然是原生格式,那么POST传输的请求参数($data_string)可以是任何数据格式,但一般习惯使用json字符串格式

function http_post($url, $data_string) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'X-AjaxPro-Method:ShowList',
        'Content-Type: application/json; charset=utf-8',
        'Content-Length: ' . strlen($data_string))
    );
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值