У меня проблемка…. Значит, пробую конектиться с прокси, а через него с ICQ-серваком. После присоединения, прокси вроде-бы пишет, что связь есть и я Connection. Но при попытке подкоректировать ответ с сервака, идет обрыв. Вот код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
import httplib
import time
import datetime
import socket
TLV_UIN=0x01
TLV_PWD=0x02
TLV_REDIR=0x05
TLV_COOKIE=0x06
CLIENT_='AOL Instant Messenger'
s=''
chain=''
seq=''
sequ=0
runn=0
total_send=0
total_recv=0
xor_table=[0xf3, 0x26, 0x81, 0xc4, 0x39, 0x86, 0xdb, 0x92, 0x71, 0xa3, 0xb9, 0xe6, 0x53, 0x7a, 0x95, 0x7c]
proxyserver = '93.166.121.106'
proxyport = '8118'
host = 'login.icq.com'
port = '5109'
st="CONNECT login.icq.com:5190/ HTTP/1.0\n\r\n"
uin = "свой UIN"
password = "свой пароль"
proxyadress=(proxyserver,int(proxyport))
print "Идет подключение к прокси-серверу..."
print "***********************************"
try:
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((proxyadress))
print "Подключение выполнено!"
print "*********************"
print "Посылка запроса к прокси-серверу для связи с ICQ-сервером ..."
print "*************************************************************"
try:
s.send(st)
print "Запрос отправлен успешно!"
print "************************"
print "Попытка получения данных с сервера..."
print "************************************"
try:
d=s.recv(1024)
d=d.split(" ")
print "Данные успешно получены! - ",d
print "***********************************************************************"
td=d[len(d)-1]#Здесь берем концовку ответа от прокси, в котором содеожится ответ от icq
td=td.split("*")
td=td[1]
td2=td[0:5]
td3="\x2a"+td2#Немного подкорректировали и получили нужный нам ответ
print "Вывод данных с сервера: -" , td3
print "***********************************************************************"
print "Подождите..."
print "************"
try:
buf=get_PLAP(td3)
print 'Успешно! - '+u
print "********"
print "Посылка 'Привета'..."
print "********************"
try:
send_HELO()
print 'Успешно!'
print "*******"
print 'Пожалуйста, подождите...Идет получение пакета...'
print "************************"
try:
buf=get_PLAP("i")
print "Пакет получен Успешно!"
print "Проверка пароля..."
print "******************"
try:
tlv_chain=proc_tlv(buf)
cookie=tlv_chain[TLV_COOKIE]
h,p = string.split(tlv_chain[TLV_REDIR],':')
print "password ok"
print "Получено: ", h,p
except:
print "ERROR! Пароль неверный!"
s.close()
del s
print "Программа закрыта!"
except:
print "ERROR в получении пакета!"
s.close()
del s
print "Программа закрыта!"
except:
print "ERROR в отправке ПРИВЕТА!"
s.close()
del s
print "Программа закрыта!"
except:
print "Неизвестная ERROR!"
s.close()
del s
print "Программа закрыта!"
except:
print "ERROR в получении данных!"
s.close()
del s
print "Программа закрыта!"
except:
print "ERROR!!! Запрос не отправлен!"
s.close()
del s
print "Программа закрыта!"
except:
print "ERRROR с подключением!"
s.close()
del s
print "Программа закрыта!"
Идет подключение к прокси-серверу...
***********************************
Подключение выполнено!
*********************
Посылка запроса к прокси-серверу для связи с ICQ-сервером ...
*************************************************************
Запрос отправлен успешно!
************************
Попытка получения данных с сервера...
************************************
Данные успешно получены! - ['HTTP/1.0', '200', 'Connection', 'established\r\nProxy-Agent:', 'Privoxy/3.0.15\r\n\r\n']
***********************************************************************
ERROR в получении данных!
Программа закрыта!