The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"OpenNews: Установка локального WindowsUpdate сервера под Uni..."
Отправлено crazyElephant, 09-Окт-04 20:05 
отвечаю на свой вопрос, может кому пригодиться
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
в sus_consts.py добавил строки
UseProxyServer = True|Flase #на выбор, по обстановке
#при использовании False не обращайте внимание на следующие параметры
proxy_ip = "xxx.xxx.xxx.xxx"
proxy_port = 3128

UseProxyAuth = True|Flase #на выбор, по обстановке
proxy_user = 'user
proxy_passwd = 'passwd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
в sus_utils.py добавил
import base64
и заменил строки
def send_head(url):
    url = url[7:]
    i = url.find('/')
    host = url[:i]
    file = url[i:]
    if host.find(':') > 0:
        host,port = host.split(':')
    else:
        port = 80
    sock = socket(AF_INET, SOCK_STREAM)
    sock.connect((host, int(port)))
    sock.send("HEAD %s HTTP/1.0\r\n\r\n"%file)
    lines = sock.recv(1024)
    res = {}
    for line in lines.split('\r\n'):
        if line.find(':') > 0:
            par,value = line.split(': ')
            res[par] = value
    if res.has_key('Content-Length') and res.has_key('Last-Modified'):
        return res['Content-Length'], res['Last-Modified']
    else:
        return None

на
def send_head(url):
    url = url[7:]
    i = url.find('/')
    host = url[:i]
    file = url[i:]
    if host.find(':') > 0:
        host,port = host.split(':')
    else:
        port = 80
    if UseProxyServer:
        #proxy_agent='User-Agent: python\r\n'
        proxy_connect='HEAD http://%s:%s'%(host,port)
        if UseProxyAuth:      
                proxy_head='%s HTTP/1.0\r\n'%file
                proxy_user_pass=proxy_user+':'+proxy_passwd
                proxy_user_passwd=base64.encodestring(proxy_user_pass)
                proxy_authorization='Proxy-authorization: Basic '+proxy_user_passwd+'\r\n'
                proxy_pieces=proxy_connect+proxy_head+proxy_authorization
        else:
                proxy_head='%s HTTP/1.0\r\n\r\n'%file
                proxy_pieces=proxy_connect+proxy_head
        sock = socket(AF_INET, SOCK_STREAM)
        sock.connect((proxy_ip, int(proxy_port)))
        sock.send(proxy_pieces+'\r\n')
    else:
        sock = socket(AF_INET, SOCK_STREAM)
        sock.connect((host, int(port)))
        sock.send("HEAD %s HTTP/1.0\r\n\r\n"%file)
    lines = sock.recv(1024)
    res = {}
    for line in lines.split('\r\n'):
        if line.find(':') > 0:
            par,value = line.split(': ')  
            res[par] = value    
    if res.has_key('Content-Length') and res.has_key('Last-Modified'):
        return res['Content-Length'], res['Last-Modified']
    else:
        return None
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
прошу указать ошибки (если есть), и если возможно подскажите возможное улучшение кода
P.S. заранее благодарю

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру