Python 中的图片上传脚本

问题描述 投票:0回答:2

我试图为 Postimage.org 制作一个图像上传脚本。 我尝试搜索API,但似乎没有可用的。谁能帮我如何制作这个脚本?我不知道如何进行上传过程?我认为我应该做的是以读取二进制模式(“rb”)打开图像文件。 无论如何,我正在等待您的建议和想法。

python image uploading
2个回答
0
投票

首先您应该考虑一下当您按下网站上的上传按钮时会发生什么。您的脚本可以做的就是模仿此功能,因为本质上它所触发的只是向 Web 服务器发出 POST 请求,其中包含表单中的指定信息和图像文件数据。您可以使用 Requests (http://docs.python-requests.org/en/latest/index.html) 等库发起 HTTP 请求(例如 GET、POST 等)。

但是,由于这似乎之前已经讨论过,所以我将为您指出正确的方向:使用 Python 脚本中的 POST 发送文件


0
投票

截至 2024 年 4 月,以下代码有效:

import re
import time
import requests

response = requests.get(url = f'https://postimages.org/')
    token_match = re.search('[\'\"]token[\'\"]\s*,\s*[\'\"](\w+)[\'\"]', response.text, re.IGNORECASE)
token = token_match.group(1)

form_data = {
        'token' : token,
        'expire' : '0',
        'numfiles' : '1',
        'ui' : '[24,1920,1080,"true","","","2024-04-10, 11:01:04 p.m."]',
        'session_upload': f'{round(time.time() * 1000)}',
        'upload_referer': 'aHR0cHM6Ly9wb3N0aW1nLmNjLw==',
        'upload_session': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
        'adult' : '0',
    }
    
response = requests.post(url = f'https://postimages.org/json/rr', 
                         data = form_data, 
                         files={"file": (open(<local_path_to_image_file>, "rb"))}
                         )
© www.soinside.com 2019 - 2024. All rights reserved.