
28.02.2010, 14:40
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Ice_VeNOm
Я вроде адаптировал функцию, но почему то выдает
Сама функция
Код:
import urllib.request
import urllib.parse
import re
import codecs
import logging
import http.client
def send_cap(key, fn):
''' Отправляем капчу на anti-capcha.com
Вход:
key - ключ на антикапче
fn - файл с капчей
Выход:
id капчи - в случае успеха
False - неудача
'''
logging.info('--- Send captcha')
data = open(fn, 'rb').read()
# разделитель для данных
boundary= '----------OmNaOmNaOmNamo'
# тело HTTP-запроса
body = '''--%s
Content-Disposition: form-data; name="method"
post
--%s
Content-Disposition: form-data; name="key"
%s
--%s
Content-Disposition: form-data; name="file"; filename="capcha.jpg"
Content-Type: image/pjpeg
%s
--%s--
''' % (boundary, boundary, key, boundary, data, boundary)
# заголовки HTTP-запроса
headers = {'Content-type' : 'multipart/form-data; boundary=%s' % boundary}
# подключение к HTTP-серверу
h = http.client.HTTPConnection('antigate.com')
# посылка запроса
h.request("POST", "/in.php", body, headers)
# получение и анализ ответа HTTP-сервера
resp = h.getresponse()
data = resp.read()
h.close()
if resp.status == 200:
cap_id= int(data.split('|')[1])
return cap_id
else:
logging.error('Captcha not send: %s %s' % (resp.status, resp.reason))
return False
Не находит сайт антикапчи, проверь данные 
|
|
|