前公司吃饭是需要在钉钉报餐的,对于不挑剔的我每天都在公司吃饭,有时忘记报餐导致吃不了饭还是很麻烦的。看了下报餐系统需要的是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);
?> 通过经纬度转换为城市名称,并获得城市的编号,通常在全国类型的商城中比较通用。//经纬度转城市名称(返回城市id,城市名称) //$ak开发密钥,$lat纬度,$lng经度,$type返回数据类型 public function getCityName($ak,$lat,$lng)...
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
在项目下的composer配置文件修改(PaySdk是我这里一个支付sdk的目录,包含各种各样的支付sdk,这样写的意思让composer自动把PaySdk下的所有文件自动加载):"autoload": { &...
众所周知MyISAM引擎不支持事务,但是我只是知道不支持事务,并未测试具体的表现是什么,测试代码如下:try { //开启事务 Db::startTrans(); &...
当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...
在调用微信code换openid的接口curl报错curl Received HTTP code 403 from proxy after CONNECT,错误码56。可以看到是curl的代理有问题。然后我自己电脑设置代理去访问curl请求的地址,的确也返回了403,说明代理不允许访问这个地址,联系...