不能帮助伪造 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,不要用虚拟定位、改机、代打卡工具。
仅供参考学习用