thinkphp ,php post发送json请求,就收post请求

这篇博客探讨了如何在ThinkPHP框架中利用PHP发送POST请求,特别是发送JSON格式的数据。作者通过示例代码详细解释了实现这一功能的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发送方的代码如下

<?php
namespace Api\Controller;
use Think\Controller;
class IndexController extends Controller
{

    public function send()
    {
        ini_set("error_reporting","E_ALL & ~E_NOTICE");
        
        $obj->phonenum = '1111111';
        $data =  json_encode($obj);
        
        $url = "http://www.****.cn/Api/Sync/phonenum";
        
        $res = $this->http_request($url, $data);
        
        echo $res;
    }
    
    // HTTP请求(支持HTTP/HTTPS,支持GET/POST)
    function http_request($url, $data = null)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        if (! empty($data)) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }
}

接受方的代码如下

<?php
namespace Api\Controller;
use Think\Controller;

class SyncController extends Controller
{
    
    //判断用户手机号码是否存在
    public function phonenum()
    {
        
        $postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : "";
        /* $this->logger('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . (empty($_SERVER['QUERY_STRING']) ? "" : ("?" . $_SERVER['QUERY_STRING'])));
        $this->logger($postStr); */
        
        $sync_log = M('sync_log');
        $sync_log->url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . (empty($_SERVER['QUERY_STRING']) ? "" : ("?" . $_SERVER['QUERY_STRING']));
        $sync_log->poststr = $postStr;
        $sync_log->createtime =time();
        $sync_log->add();
        
        $res = json_decode($postStr, true);
        
        // 验证手机号码是否存在
        $user_db = M("member_list");
        $map['member_list_tel'] = $res['phonenum'];
        $map['display'] = 'on';
        $user_res = $user_db->where($map)->find();
        
        
        if ($user_res) {
            $arr = array(
                'clientid' => $user_res['member_list_id']
            );
        }else {
            $arr = array(
                'clientid' => 0
            );
            
        }
        
        echo json_encode($arr);
        
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值