0

我正在尝试制作一个脚本,该脚本将自动上传我放置在我电脑上的文件夹中的图像,但我无法让我的POST请求正常工作。

这是我要提交的表格...

<form method="POST" action="/uploadeventthumb.php?id=0" enctype="multipart/form-data">
    <input type="file" name="image"><p>
    <input type="hidden" name="id2" value="3kkggi1618601391"></p><p>
    <input type="hidden" name="id3" value="1113887"></p><p>
    <input type="Submit" name="Submit" value="Submit">
    <br></p><p>Please only upload JPG images. <br>The dimensions should be <b>1280x720</b> pixels Wide and High.
    </p></form>

这是我的代码...

for f in glob.glob(upload+'*-t.jpg'):
    f = f.replace("\\", "/")
    sessionObj = requests.session()
    r = sessionObj.post(TheSportsDB.login, TheSportsDB.login_data)
    if r.status_code == 200:
        print("Logged in!")
    file = {'file' : open(f, 'rb')}
    fn = f.replace(upload, "")
    fn = fn.replace("-t.jpg", "")
    TSDB = TheSportsDB.thumb+fn
    r = sessionObj.post(TSDB, files=file)
    print(r.text)

当我运行脚本时,我收到一条成功的Logged in!消息,然后它从上传页面打印出文本,但从未真正上传图像,请有人告诉我我做错了什么!

4

1 回答 1

0

我打算使用此脚本的目的是不可能的,因为 id2 字段在每个请求中都会更改,所以我猜它是 @NobbyNobbs 在评论中提到的 CSRF 令牌。

我设法使用 Selenium 而不是 Requests 和 BeautifulSoup 轻松创建脚本。

于 2021-04-18T09:33:08.380 回答