Показать сообщение отдельно

Antigate python 3.1
  #6  
Старый 22.02.2010, 11:51
Ice_VeNOm
Познающий
Регистрация: 05.09.2009
Сообщений: 34
С нами: 8779641

Репутация: 14
По умолчанию Antigate python 3.1

Я вроде адаптировал функцию, но почему то выдает
Цитата:
Traceback (most recent call last): File "C:\Users\VeNOm\Desktop\mypy\vk\vk.py", line 125, in ant s=send_cap('*********************', 'captcha.jpeg') File "C:\Users\VeNOm\Desktop\mypy\vk\vk.py", line 55, in send_cap h.request("POST", "/in.php", body, headers) File "C:\Python31\lib\http\client.py", line 918, in request self._send_request(method, url, body, headers) File "C:\Python31\lib\http\client.py", line 956, in _send_request self.endheaders(body) File "C:\Python31\lib\http\client.py", line 914, in endheaders self._send_output(message_body) File "C:\Python31\lib\http\client.py", line 768, in _send_output self.send(msg) File "C:\Python31\lib\http\client.py", line 716, in send self.connect() File "C:\Python31\lib\http\client.py", line 698, in connect self.timeout) File "C:\Python31\lib\socket.py", line 292, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): socket.gaierror: [Errno 11004] getaddrinfo failed
Сама функция

Код:
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
 
Ответить с цитированием