Im essayant de créer un code python simple qui communiquerait avec le service de résolution de captcha 9kw.eu via leur API https://www.9kw.eu/api.html#apisubmit-tab . Fondamentalement, j'envoie une image encodée en base64 avec quelques clés: les valeurs et la réponse du serveur doivent être des nombres comme: 58952554, mais je ne reçois que
<response[200]>
Ce qui devrait signifier que le serveur a obtenu mes données, mais je ne reçois rien d'autre. Je suis en mesure d'obtenir le bon résultat avec un simple formulaire html:
<form method="post" action="https://www.9kw.eu/index.cgi" enctype="multipart/form-data">
KEY:<br>
<input name="apikey" value="APIKEY"><br>
ACTION<br>
<input name="action" value="usercaptchaupload"><br>
FILE:<br>
<input name="file-upload-01" value="BASE64IMAGEDATAHERE"><br>
TOOL<br>
<input name="source" value="htmlskript"><br>
ROTATE<br>
<input name="rotate" value="1"><br>
Angle<br>
<input name="angle" value="40"><br>
BASE64
<input name="base64" value="1"><br>
Upload:<br>
<input type="submit" value="Upload and get ID">
</form>
C'est le code python, qui devrait faire la même chose:
import requests
import time
#base64 image encoding
with open("funcaptcha1.png", "rb") as f:
data = f.read()
filekodovany = data.encode("base64")
#captcha uploader
udajepost = {'apikey':'APIKEY','action':'usercaptchaupload','file-upload-01':filekodovany,'source':'pythonator','rotate':'1','angle':'40','base64':'1'}
headers = {'Content-Type':'multipart/form-data'}
r = requests.post('https://www.9kw.eu/index.cgi', data = udajepost)
print(r)
Merci pour toute aide.
r = requests.post('https://www.9kw.eu/index.cgi', data = udajepost)
Ici, r
est l'objet de réponse complet qui possède de nombreux attributs. Je suppose que vous n'avez besoin que de r.text
. Ainsi, vous pouvez simplement utiliser:
print(r.text)
Vous recherchez la réponse de la demande:
print(r.text)
De cette façon, vous aurez la réponse en texte brut.