当前位置:首页 > PHP > 正文内容

PHP使用post发送Json数据

高老师8年前 (2017-07-02)PHP2023

前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是json数据包含我的工号即可。于是编写如下代码,放在360网址监控,1小时执行1次

<?php
/*自动报餐类*/
class  AutoBaocan{
 
private $url;
 
private $data;
 
 
//构造方法初始化
function __construct($url,$data){
$this->url=$url;
$this->data=$data;
}
 
 
 
//(1).创建会话,返回会话
public function newcurl(){
 
$ch=curl_init();//初始会话
 
curl_setopt($ch,CURLOPT_POST,1);/*Post模式*/
curl_setopt($ch,CURLOPT_URL,$this->url);/*URl设置*/
curl_setopt($ch,CURLOPT_POSTFIELDS,$this->data);/*Json数据*/
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
'Content-Type: application/json; charset=gb2312',
'Content-Length: ' . strlen($this->data)
));
 
return $ch;
}
 
 
//(2).利用会话句柄,发送Json,返回状态和文本
public function postjson($ch){
 
//开启缓存区
ob_start();
 
//执行CURL会话
curl_exec($ch);
 
//获取缓冲区的内容
$return_content=ob_get_contents();
 
//关闭缓冲区
ob_end_clean();
 
 
//获取资源句柄的信息
$return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
 
 
return array($return_code, $return_content);   
}
 
 
 
 
}
 
/*类结束*/
 
 
 
 
 
 
 
 
 
//设置参数
 
$url  = "http://weixin.xajlnkyjy.com/lswyjishu/renshi.php/Bcdingding/baocan";  /*目标URL*/
 
$info = array
(
         shangwu=>'吃',
         xiawu=>'吃',
         jobnumber=>'0209060334387389791',
         ename=>'高久峰',
         deptname=>'安康项目组'
 
        );
 
 
$data = json_encode($info);/*Json数据*/   
 
 
 
 
 
 
//实例化
$Baocan=new AutoBaocan($url,$data);
 
//执行发送json
$result=$Baocan->postjson($Baocan->newcurl());
 
 
//生成日志
file_put_contents('log.txt',$result[0]."--".$result[1]."\r\n",FILE_APPEND);
 
?>

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/21.html

分享给朋友:

“PHP使用post发送Json数据” 的相关文章

php无限查询下级,php递归统计下级总数,php 获取无限子级

php无限查询下级,php递归统计下级总数,php 获取无限子级

因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员。先看看数据库中的member表字段id            username       &...

php多进程,php多进程处理任务,php多进程应用场景

php多进程,php多进程处理任务,php多进程应用场景

php多进程应用场景主要是非web端,fpm下是不支持多进程的,非类linux操作系统都不支持,请在cli模式使用.可以使用多进程做任务分发,批量计算,批量文件处理,批量爬虫,网络运维等等。下面看一份简单的入门demo//创建子进程 $pid=pcntl_fork(); //返回-1,创建失败,不...

 php max input vars,max input vars限制,max input vars 设置

php max input vars,max input vars限制,max input vars 设置

在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:Warning: Unknown: Input variables exceeded 1000. To incr...

php 获取当前执行文件,php 获取当前执行文件,php 获取当前文件

php 获取当前执行文件,php 获取当前执行文件,php 获取当前文件

php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/*  * 获取当前PHP文件名称  */ if (!function_exists('phpself&#...

php异步执行,php后台运行,如何在windows下让php后台运行

php异步执行,php后台运行,如何在windows下让php后台运行

如果想在windows中执行php,并且让php脚本在后台运行,可以用下面的cmd命令start /b php  D:\wwwroot\default\demo1\run.php例如上面的命令意思后台运行run.php,如果想用php编写异步代码: ...

编写php com组件,php调用.net dll,php源码保护

编写php com组件,php调用.net dll,php源码保护

开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...