use*_*831 3 python python-requests
我试图创建简单的python代码,通过他们的api https://www.9kw.eu/api.html#apisubmit-tab与9kw.eu captcha解决服务进行通信.基本上我用一些键发送base64编码的图像:服务器的值和响应应该是这样的数字:58952554,但我只是得到
<response[200]>
Run Code Online (Sandbox Code Playgroud)
这应该意味着服务器获取了我的数据,但我没有得到任何其他东西.我能用简单的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>
Run Code Online (Sandbox Code Playgroud)
这是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)
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
Ahs*_*que 19
r = requests.post('https://www.9kw.eu/index.cgi', data = udajepost)
Run Code Online (Sandbox Code Playgroud)
这里r是整个响应对象,它具有许多属性.我想,你只需要r.text.所以,你可以使用:
print(r.text)
Run Code Online (Sandbox Code Playgroud)