mirror of
https://github.com/BlueSkyXN/WorkerJS_CloudFlare_ImageBed.git
synced 2024-11-16 03:32:26 +08:00
64 lines
2.4 KiB
Python
64 lines
2.4 KiB
Python
import requests
|
||
import logging
|
||
import os
|
||
# https://hostloc.com/thread-1299919-1-1.html
|
||
# https://github.com/zixiwu/mt-img-bed/blob/main/mt.php
|
||
# https://github.com/k08255-lxm/WX-MT_Image/blob/main/upload_mtkf.php
|
||
# 日志配置
|
||
log_file = os.path.join(os.path.dirname(__file__), 'log.txt')
|
||
logging.basicConfig(filename=log_file, level=logging.INFO, format='[%(asctime)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
||
|
||
def log_message(message):
|
||
logging.info(message)
|
||
|
||
# 目标 URL
|
||
target_url = 'https://kf.dianping.com/api/file/singleImage'
|
||
|
||
# 文件路径
|
||
image_path = r"F:\Download\ecabfc9aa7dace978229f8563ab5c856fe530eea.jpg"
|
||
|
||
# Headers
|
||
headers = {
|
||
'Referer': 'https://h5.dianping.com/',
|
||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0',
|
||
}
|
||
|
||
# 准备 POST 数据,使用 `files` 参数来上传文件
|
||
files = {
|
||
'file': ('ecabfc9aa7dace978229f8563ab5c856fe530eea.jpg', open(image_path, 'rb'), 'image/jpeg'),
|
||
'channel': (None, '4') # 这里的 'channel' 是表单中的普通字段,None 表示不传文件
|
||
}
|
||
|
||
try:
|
||
# 发送 POST 请求
|
||
response = requests.post(target_url, headers=headers, files=files)
|
||
http_code = response.status_code
|
||
log_message(f"HTTP Code: {http_code}")
|
||
|
||
# 解析响应
|
||
if response.status_code == 200:
|
||
try:
|
||
response_data = response.json()
|
||
log_message(f"Response: {response_data}")
|
||
|
||
# 检查返回的 JSON 数据是否有 'uploadPath'
|
||
if 'data' in response_data and 'uploadPath' in response_data['data']:
|
||
upload_url = response_data['data']['uploadPath']
|
||
print(f"上传成功,图片访问路径: {upload_url}")
|
||
else:
|
||
log_message(f"未能获取链接: {response_data}")
|
||
print(f"上传失败,未能获取链接: {response_data}")
|
||
except ValueError as e:
|
||
log_message(f"JSON 解析错误: {e}")
|
||
print(f"JSON 解析错误: {e}")
|
||
else:
|
||
log_message(f"图片上传失败: HTTP Code {http_code}, Response: {response.text}")
|
||
print(f"图片上传失败: HTTP Code {http_code}, Response: {response.text}")
|
||
|
||
except requests.exceptions.RequestException as e:
|
||
log_message(f"请求错误: {e}")
|
||
print(f"请求错误: {e}")
|
||
finally:
|
||
# 关闭文件
|
||
files['file'][1].close()
|