前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是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); ?>