INTではなくPythonのhttpリクエストで、を取得する。

9kw.euのcaptcha解決サービスとapi https://www.9kw.eu/api.html#apisubmit-tab を通して通信するシンプルなpythonコードを作成しようとしています。基本的にはbase64エンコードされた画像をいくつかのkey:valuesで送信し、サーバーからのレスポンスは以下のような数字になるはずです。58952554のような数字が返ってくるはずなのですが、以下のような数字しか返ってきません。

<response[200]>

これは、サーバーが私のデータを受け取ったことを意味するはずですが、他に何も得られません。 シンプルな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>

これはpythonのコードで、同じことができるはずです。

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)

ご協力ありがとうございました。

ソリューション
r = requests.post('https://www.9kw.eu/index.cgi', data = udajepost)

ここで、rは多くの属性を持つレスポンスオブジェクト全体です。しかし、必要なのは r.text だけだと思います。だから、ただ単に次のように使うことができます。

print(r.text) 
解説 (0)

あなたは、リクエストのレスポンスを探しています。

print(r.text)

このようにして、プレーンテキストのレスポンスを得ることができます。

解説 (0)