我试图创建简单的python代码,它将与9kw.eu captcha通信,通过它们的api https://www.9kw.eu/api.html#apisubmit-tab解决服务。基本上我发送base64编码的图像与一些键:值和响应来自服务器应该是这样的号码:58952554,但我只得到使用Python http请求获取<response [200]>而不是INT
<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)
感谢您的帮助。
这是记录在主页上的第一个片段中的请求包(http://docs.python-requests.org/en/master/)。在旁注中,在未来的问题中,请尝试勾勒出您想要更清楚地实现的内容;一个'Request'对象具有很多属性,所有这些属性在各种情况下都可能有用。 – Jules