Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2010 11:22:01

Di_MikyL
От:
Зарегистрирован: 2010-10-28
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь с разработкой простенького icq

Всем привет!
Я новичок в питоне, поэтому нужна помощь. Помогите, если кому не лень )
Значит, нужно сделать подключение с серверу ICQ (вводя логин и пароль). Затем нужно по введенному UIN какого-нибудь контакта и отправить ему текстовое сообщение. Вроде все просто, но возникли проблему. Пробовал подключаться по сокету через прокси: подключение есть, но при попытке отправить сообщение, выбивает, что связь прервана. вот код, посмотрите кому не сложно:

#!/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=

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#Здесь берем концовку ответа от прокси, в котором содеожится ответ от icq
td=td.split(“*”)
td=td
td2=td
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
h,p = string.split(tlv_chain,':')
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-сервером …
*************************************************************
Запрос отправлен успешно!
************************
Попытка получения данных с сервера…
************************************
Данные успешно получены! -
***********************************************************************
ERROR в получении данных!
Программа закрыта!



Отредактировано (Окт. 28, 2010 15:15:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version