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

PHP使用post发送Json数据

高老师9年前 (2017-07-02)PHP2335

前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是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 /*  *   单粒模式,只能造出一个对象  1.肯定每次new只能返回一个对象,可以使用静态方法解决  2.子类继承也禁止重写构造方法,添加final搞定  *   */    ...

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

php执行慢原因查找

php执行慢原因查找

今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...

PHP Warning:  ftok(): Project identifier is invalid

PHP Warning: ftok(): Project identifier is invalid

在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning:  ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....

php迭代器返回值,php yield getReturn

php迭代器返回值,php yield getReturn

php生成器的方法getReturn获取生成器迭代完成后的返回值,当生成器迭代完成会将生成器的返回值返回,因此如果迭代器未进行迭代是获取不到值的,如果你没有return值则返回null,参考代码:<?php function G1() {    &nbs...