infosimples / deathbycaptcha

Ruby API for DeathByCaptcha (Captcha Solver as a Service)
MIT License
144 stars 35 forks source link

DBC Socket implementation? #6

Closed paulingham closed 11 years ago

paulingham commented 12 years ago

Hi,

I'm just wondering if anyone is experiencing any issues with the socket client? I've not been able to get it to work on REE or 1.9.3.

I've obviously remove usernames/passwords but wondered if you guys were aware of anything?

SEND: {"captcha":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL\nDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/\nwAALCAA5ASwBAREA/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL\n/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEI\nI0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW\nV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip\nqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3\n+Pn6/9oACAEBAAA/APf6KKKKKKKKo6ydRXRrs6QsTaiIj9nE33C/bPtXgms/\nFr4l6JZzf2r4eitEbMa3DW7qFY9CDnFehfDv4jR6v8PV1rxHd29vLBM0EsrM\nF342/Nj/AIEOldRbeN/DF4kjW2uWUvlxmRgsoyFAyTiqdp8TPBd4VEXiOwDN\n0WSTYf1q1rdwdd8PXVt4e1+3tr51BhuYZFk2EEHp7gEfjXLfBnxRrfiXQtUX\nxBOZb6yvTAd0YRlG0cEADnOa9KooooooooooooooooooooooooooqK5uYLO2\nkuLmVYoYxud3OAo968y1b48+FNM1ZrFFuLoK4Vp4QPL+ue9Z2vftD+HrB400\nizn1TcDvckwhD2HzLzVbT/2jdFks2fUNLuobjccRxEOMdueKz/D3jb4lfEDV\nrqfw8bS10tZim6ZARFxkA9zn6d6xviZ4l+IulaZcaN4ltrKXT7r90l1HCNrn\nGflPUEfSvLLDzNaudK0SLZbiSYQ7wzYdnbG5hnGeQOOwFep/ET4L/wDCK+H5\nNc0S8kaG3hVbuJ25IPDMD6EkfLXl3hLTLbWvF+k6XeFxbXd1HDIUOGAY44P4\n17f8Qfg1Bo+mtr/hK4eyl0+HzZod5w4QFi4P97gcdK4/4feO/F76n4gj8P6V\nDfalqbfbZeceWQcMwBPOd3SvQ9J+N/8AZUd3YeOdNmsNXtiG8uKPiRTjGBng\n4OeuCK6zSfir4b8RWd22hztd38MTSJYOPKlmIBO1d3BJx2zVHwT8X9O8a+IW\n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\n","is_case_sensitive":1,"cmd":"upload","version":"DBC/Ruby v4.1.0"} SEND: {"username":"xxxxxxxxxxx","password":"xxxxxxxxxxx","cmd":"login","version":"DBC/Ruby v4.1.0"} CONN:

<Errno::EINPROGRESS: Operation now in progress - connect(2) would block>

SEND: Resource temporarily unavailable - recvfrom(2) would block SEND: /var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:151:in recv_nonblock'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:151:inrecv'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:197:in block in call'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:184:ineach'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:184:in call'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:186:inblock in call'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:184:in each'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:184:incall'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/socket_client.rb:51:in upload'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/deathbycaptcha-4.1.2/lib/deathbycaptcha/client.rb:99:indecode'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker/recaptcha/cracker.rb:41:in retrieve_captcha'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker/recaptcha/cracker.rb:14:incrack'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker/suppliers/ryanair/captcha_cracker.rb:15:in crack!'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker/suppliers/ryanair.rb:37:incrack_captcha'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker/suppliers/ryanair.rb:31:in submit_search'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker/suppliers/ryanair.rb:20:inscrape'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/bundler/gems/otb_availability_checker_gem-bfe5eafa4915/lib/otb_availability_checker.rb:16:in scrape!'\n(irb):2:inirb_binding'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/workspace.rb:80:in eval'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/workspace.rb:80:inevaluate'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/context.rb:254:in evaluate'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:159:inblock (2 levels) in eval_input'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:273:in signal_status'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:156:inblock in eval_input'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in block (2 levels) in each_top_level_statement'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/ruby-lex.rb:229:inloop'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in block in each_top_level_statement'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/ruby-lex.rb:228:incatch'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in each_top_level_statement'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:155:ineval_input'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:70:in block in start'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:69:incatch'\n/opt/ruby-1.9.3/lib/ruby/1.9.1/irb.rb:69:in start'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/commands/console.rb:47:instart'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/commands/console.rb:8:in start'\n/var/www/otb_livebook_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:41:in<top (required)>'\nscript/rails:6:in require'\nscript/rails:6:in

' CLOSE: SEND: Connection timed out during API request Exception: Connection timed out during API request

We're definitely not firewalled as I can see the traffic via a TCP dump.

tamvm commented 12 years ago

I faced the same issue and can't find any resource to resolve this problem, so could you help me? Whenever, I call decode(image_url), it raises exception: "Connection timed out during API request"

Any help?

paulingham commented 11 years ago

@tamvo https://github.com/infosimples/deathbycaptcha/pull/7 - made a pull request, give that a go until it gets merged in.

rafaelivan commented 11 years ago

The pull request by @paulingham was merged today.

paulingham commented 11 years ago

Thanks guys, much appreciated.