gotlium / antigate

Wrapper for online service which provides real-time captcha-to-text decodings. http://anti-captcha.com/
http://antigate.com/
GNU General Public License v3.0
91 stars 21 forks source link

ERROR_NO_SUCH_METHOD #7

Closed klapauciuz closed 9 years ago

klapauciuz commented 9 years ago

ошибка на 92 строке:

{'key': self.key, 'file': UploadFile(filename)}, self.send_config))

не передаёт метод, который теперь требует antigate, правильно будет так:

{'method': 'post', 'key': self.key, 'file': UploadFile(filename)}, self.send_config))
gotlium commented 9 years ago

пришлите пожалуйста pull-request и добавьте в тесты новый метод для проверки работоспособности батарейки после фикса.

gotlium commented 9 years ago

так же возможно что вы что-то делаете не так, так как по коду я вижу:

self.g.setup(multipart_post=self._update_params(
            {'key': self.key, 'file': UploadFile(captcha_file)},
            self.send_config
))

здесь необходим файл и передается как multipart_post. файлы и буферы покрыты тестами.

klapauciuz commented 9 years ago

это версия которая на гитабе(которая, кстати, тоже перестала работать по той же причине), а в версии с pip 92 строка такая:

  {'key': self.key, 'file': UploadFile(filename)}, self.send_config))

как я понимаю, теперь нужно передавать название метода:

  {'method': 'post', 'key': self.key, 'file': UploadFile(filename)}, self.send_config))
gotlium commented 9 years ago

то есть по сути это проблема grab?

klapauciuz commented 9 years ago

почему? мне кажется просто апи стал требовать название метода. antigate внезапно перестал работать из-за ошибки ERROR_NO_SUCH_METHOD:

Traceback (most recent call last):
File "***", line 92, in 
go()
File "C:Developmentavito-regerreger.py", line 72, in go
cptch = AntiGate(antigate_key, captcha_name, send_config=config)
File "C:Python27libsite-packagesantigate__init__.py", line 41, in __init_
self.run(filename)
File "C:Python27libsite-packagesantigate__init__.py", line 156, in run
self.send(filename)
File "C:Python27libsite-packagesantigate__init__.py", line 105, in send
raise AntiGateError(msg)
antigate.AntiGateError: ERROR_NO_SUCH_METHOD
gotlium commented 9 years ago

выходит что были какие-то изменения в апи, и требуется дополнительный параметр

gotlium commented 9 years ago

спасибо за репорт. поправил этот момент.