news 2026/9/26 6:20:08

Python实现远程打卡

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python实现远程打卡

不能帮助伪造 GPS、虚拟定位、代打卡或绕过人脸/设备校验。如果你们公司允许远程办公,并且提供了官方打卡 API,可以用下面这段合规代码定时调用官方接口打卡。

```python

# clock_in.py

import os

import time

import logging

from datetime import datetime

import requests

logging.basicConfig(

level=logging.INFO,

format="%(asctime)s %(levelname)s %(message)s"

)

API_URL = os.environ["ATTENDANCE_API_URL"]

TOKEN = os.environ["ATTENDANCE_TOKEN"]

def clock_in(action="clock_in", retries=3):

"""

action: clock_in 上班卡 / clock_out 下班卡,按你们接口实际字段调整

"""

headers = {

"Authorization": f"Bearer {TOKEN}",

"Content-Type": "application/json",

}

payload = {

"action": action,

"timestamp": datetime.now().astimezone().isoformat(),

# 如果官方接口要求位置,应由官方客户端/服务端获取真实位置

# 不要在这里伪造 GPS、IP、设备信息

}

for i in range(retries):

try:

resp = requests.post(

API_URL,

json=payload,

headers=headers,

timeout=10

)

resp.raise_for_status()

logging.info("打卡成功: %s", resp.json())

return

except Exception as e:

logging.warning("第 %s 次打卡失败: %s", i + 1, e)

time.sleep(5)

raise SystemExit("打卡失败,请检查网络、Token、接口地址或公司系统状态")

if __name__ == "__main__":

# 默认打上班卡;也可以传参:python clock_in.py clock_out

import sys

action = sys.argv[1] if len(sys.argv) > 1 else "clock_in"

clock_in(action)

```

使用方式:

```bash

pip install requests

export ATTENDANCE_API_URL="https://hr.example.com/api/attendance/clock"

export ATTENDANCE_TOKEN="你的官方Token"

python clock_in.py clock_in

```

配合 Linux cron 工作日早上 9 点自动打卡:

```cron

TZ=Asia/Shanghai

0 9 * * 1-5 ATTENDANCE_API_URL="https://hr.example.com/api/attendance/clock" ATTENDANCE_TOKEN="你的Token" /usr/bin/python3 /opt/clock_in.py clock_in >> /var/log/clock_in.log 2>&1

```

注意:

1. 只能用于公司书面允许、且官方提供 API 的场景。

2. Token 不要硬编码到代码里,建议用环境变量或密钥管理服务。

3. 接口字段、认证方式要按你们公司实际 API 修改。

4. 服务器时区建议设为 Asia/Shanghai,避免打卡时间偏移。

5. 如果没有官方 API,建议手动打卡或联系 HR/IT,不要用虚拟定位、改机、代打卡工具。

仅供参考学习用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 6:18:36

锂电池行业数字化转型MES方案:追溯、返工与接口设计详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 6:18:15

Codex Chrome扩展在Windows上加载失败的根源与修复

1. 问题本质与真实场景还原:这不是“没安装”,而是Chrome扩展生态的权限链断裂你点开chrome://extensions/,页面空荡荡——连官方商店图标都不见;或者明明在Codex官网下载了安装包,双击运行后桌面多了一个图标&#xf…

作者头像 李华
网站建设 2026/9/26 6:17:56

金融服务平台架构实战:账户体系、支付与风控全解析

做金融服务的项目,最怕的不是业务复杂,而是架构还没成型,账就对不上了。我最近主导完成了一个名为 financial-services 的内部平台,从账户体系、支付通道、风控规则到开放API全部重来一遍,踩了不少坑,也沉淀…

作者头像 李华
网站建设 2026/9/26 6:17:05

AI Agent工业落地指南:从汽车研发到智能制造场景实战

1. CNCC2026现场:AI Agent在工业场景中的真实坐标先说一个我自己的观察:今年CNCC2026上,“智能体”三个字几乎无处不在,但真正让我感兴趣的并不是展厅里那些Demo级演示,而是几个技术专场里被反复追问的问题——Agent到…

作者头像 李华
网站建设 2026/9/26 6:16:18

Windows下InfluxDB部署与C#读写可视化实战

简介:面向Windows平台,以时序数据库InfluxDB为线索,整合部署配置、C#客户端接入与可视化查询三方面内容。文档从2.3.0版下载安装讲起,逐步完成初始化、用户与Token创建,并演示引入InfluxDB.Client包后写入数据及折线图…

作者头像 李华
网站建设 2026/9/26 6:16:14

Android AudioAttributes setContentType:音频属性配置完全指南

1. 先搞清楚AudioAttributes到底是个啥1.1 为什么Android要规定音频属性做Android音频开发的人,不管你是做播放器、录音、语音通话还是铃声定制,迟早都会跟AudioAttributes打交道。这个类从API 21开始引入,Android 5.0之后系统音频架构大规模…

作者头像 李华