Mediawikiapi将图像上传到Commons.wikipedia.org

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

目前,我能够将图像上传到test.commons.wikipedia 使用从原始MediaWiki取出的代码

但图像被上传到

Https://upload.wikimedia.org/wikipedia/test 我希望将其上传到此网站

https://upload.wikimedia.org/wikipedia/commons

当我将上传URL从

URL = "https://test.wikipedia.org/w/api.php"

更改为

URL = "https://commons.wikipedia.org/w/api.php"
我正面临此错误,当调用

R.json()

时,其中

R = S.post(URL, files=FILE, data=PARAMS_4)
,其中
FILE = {'file':('file_1.jpg', open(FILE_PATH, 'rb'), 'multipart/form-data')}
和params_4是上传images的参数
PARAMS_4 = {
    "action": "upload",
    "filename": "file_11a.jpg",
    "format": "json",
    "token": CSRF_TOKEN,
    "ignorewarnings": 1
}
# CSRF_TOKEN WAS SUCCESFULLY RETRIVED but it returns only "+\" for commons, but for test it returns a alphanumeric csrf token ending with "+"

已导致以下错误
File "AppData\Local\Programs\Python\Python310\lib\site-packages\requests\models.py", line 978, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我能理解的是,响应是
200
表示图像已上传,但是返回的JSON()为空或空,因此发生了错误。

我认为应该对参数进行调整很少,以使其与公共相匹配,我得到的JSON响应可以将图像的URL或位置上传到Servere

现在我想要上传图像的URL,我如何找到,还有其他方法吗?
nor如何在

https://upload.wikimedia.org/wikipedia/test

Https://upload.wikimedia.org/wikipedia/commons

和time for time time the time the timentiles/extine time以外,直到现在,直到e ande timentip ticles,直到eventile timentip eastiles,直到evertialementive是,直到现在,直至还可以更改或保持与上传时相同的链接,

我想知道它们是否与存储,访问和性能有关 我可以以任何一种方式做到这一点,如果测试和公共之间没有太大差异,那么电流应该没问题,否则,我想要一种用于共享的方法(将图像文件上传到Commons并获取其公共URL)

或其他方法可以使用API上传到Wikipedia并获取图像公共URL 或我如何获取由我或我的帐户上传到Wikipedia的图像列表使用MediaWikiAPI 也尝试了上传的图像,但我找不到使用Https://commons.wikipedia.org/w/api.php

上传的图像,但是我可以从

https上载上载图像: https://commons.wikipedia.org/w/api.php,但是为什么它将其返回代码为

https://<language>.wikipedia.org/wiki/Special:FilePath/<filename>

任何以任何形式相关的帮助,请回答与问题有关的答案,诸如许可之类的其他考虑因素已经得到照顾。

我弄清楚了,CSRF代币检索存在问题,并且用户也没有登录,

尽管它为Https://test.wikipedia.org/w/api.php工作,我不知道为什么,但是对于https://commons.wikipedia.wikipedia.org/w/api.php

获取登录令牌

login

获取CSRFToken
mediawiki wikipedia wikipedia-api mediawiki-api
1个回答
0
投票

uploadimage

200

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.