HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 18.05.2009, 09:51
iv.
Познавший АНТИЧАТ
Регистрация: 21.03.2007
Сообщений: 1,200
С нами: 10074686

Репутация: 1204


По умолчанию

у меня есть список, в котором некоторые элементы повторяются
есть ли какая функция для создания списка без дублей или же модификации исходного?
 
Ответить с цитированием

  #2  
Старый 18.05.2009, 10:35
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от iv.  
у меня есть список, в котором некоторые элементы повторяются
есть ли какая функция для создания списка без дублей или же модификации исходного?
a = [1,2,3,4,5,6,2,2,3,3,4,4]
b= set(a)
print b
 
Ответить с цитированием

  #3  
Старый 18.05.2009, 11:07
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

Помогите, cookielib почему-то не принимает все куки.

Есть такой код
Код:
    def request(self, host, handler, request_body, verbose=0):
        # dummy request class for extracting cookies 
        class CookieRequest(urllib2.Request):
            pass            

        # dummy response class for extracting cookies 
        class CookieResponse:
            def __init__(self, headers):
                self.headers = headers
            def info(self):
                return self.headers 
        verbose = 0
        crequest = CookieRequest('https://'+host+'/')
            
        # issue XML-RPC request
        h = self.make_connection(host)
        if verbose:
            h.set_debuglevel(1)

        self.send_request(h, handler, request_body)
        self.send_host(h, host)
        self.send_user_agent(h)
        
        # creating a cookie jar for my cookies
        cj = cookielib.LWPCookieJar()

        self.send_content(h, request_body)

        errcode, errmsg, headers = h.getreply()
        print str(headers)
        cresponse = CookieResponse(headers)
        cj.extract_cookies(cresponse, crequest)

        if len(cj) >0 and self.cookiefile != None:
            cj.save(self.cookiefile)
                
        if errcode != 200:
            raise xmlrpclib.ProtocolError(
                host + handler,
                errcode, errmsg,
                headers
                )

        self.verbose = verbose

        try:
            sock = h._conn.sock
        except AttributeError:
            sock = None
                
        return self._parse_response(h.getfile(), sock)
Приходящие заголовки выглядят так:
Код:
Server: nginx/0.6.32
Date: Mon, 18 May 2009 06:59:05 GMT
Content-Type: text/xml; charset=utf-8
Connection: close
Set-Cookie: SAPE=tra-ta-ta; path=/; domain=.sape.ru
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: p=a8de899da4; expires=Tue, 18-May-2010 06:59:02 GMT; path=/; domain=.sape.ru
Суть - сохраняет только куку "p", но не "SAPE" возможно из-за отсутствия аттрибута expires. Как настроить, чтобы сохранялись все куки?
 
Ответить с цитированием

  #4  
Старый 18.05.2009, 11:35
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Попробуй такой вариант:
Код:
import urllib2
import cookielib

cookies = cookielib.CookieJar()
proxy_handler = urllib2.ProxyHandler({"http":"10.10.10.10:3128"})
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies), proxy_handler,)
urllib2.install_opener(opener)
temp_headers = urllib2.urlopen("www.sape.ru").info()
print cookies
По идее должны схаваться все куки - у меня по крайней мере ни разу не было проблем с таким вариантом - всгда все было ок, код твой если честно то просто не могу понять, наверное слишком глубоко для мну

Последний раз редактировалось login999; 18.05.2009 в 11:41.. Причина: Бля, натупил
 
Ответить с цитированием

  #5  
Старый 18.05.2009, 13:04
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

login999 Спасибо, но не то, это функция из класса для транспорта XMLRPC

Проблема оказалась проста. cookiejar.save не сохранял expired куки, там специальный флаг для этого
 
Ответить с цитированием

  #6  
Старый 22.05.2009, 15:52
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
С нами: 9746246

Репутация: 806
По умолчанию

недавно посетила мысль о том что понемногу заменить PyCurl на стандартные библиотеки.

И тут возникли два вопроса, что пока не смог решить:
Как запустить запрос через Socks4/5
Как запустить запрос по https
 
Ответить с цитированием

  #7  
Старый 22.05.2009, 16:08
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

urllib2 для http проксей, куков и т.д.
для сокс свой openner написать, там не слишком сложно.
Кстати как напишешь - плз выложи, интересно.
 
Ответить с цитированием

  #8  
Старый 22.05.2009, 16:40
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
С нами: 9746246

Репутация: 806
По умолчанию

Цитата:
Сообщение от nerezus  
urllib2 для http проксей, куков и т.д.
для сокс свой openner написать, там не слишком сложно.
Кстати как напишешь - плз выложи, интересно.
Хотелось бы стандартными средствами... Если использовать сторонние библиотеки, то нашел
http://socksipy.sourceforge.net/ , типа работа как с сокетами, только через сокс, если все работает, то достаточно интересно.
А если самому реализовывать, то интересно посмотреть на этот исходник:
http://www.koders.com/python/fidE472F1B0D8A02578C8960D2A1648A8D6049C6A40.aspx?s =icq#L114

Ну тогда при моих интересах в принципе рано уходить от PyCurl, но правда меня смущает тот факт(как бы поэтому я и решил посмотреть что есть по данному вопросу) что нету версии PyCurl для Windows для версии 2.6.

Хотя пока не собираюсь переходить на 2.6, ведь PyGame с которым активно играюсь пока что рекомендует 2.5... Но тенденция развития PyCurl не очень нравится (
 
Ответить с цитированием

  #9  
Старый 22.05.2009, 16:47
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
С нами: 9427413

Репутация: 973


По умолчанию

Цитата:
Сообщение от presidentua  
Хотелось бы стандартными средствами... Если использовать сторонние библиотеки, то нашел
http://socksipy.sourceforge.net/ , типа работа как с сокетами, только через сокс, если все работает, то достаточно интересно.
А если самому реализовывать, то интересно посмотреть на этот исходник:
http://www.koders.com/python/fidE472F1B0D8A02578C8960D2A1648A8D6049C6A40.aspx?s =icq#L114

Ну тогда при моих интересах в принципе рано уходить от PyCurl, но правда меня смущает тот факт(как бы поэтому я и решил посмотреть что есть по данному вопросу) что нету версии PyCurl для Windows для версии 2.6.

Хотя пока не собираюсь переходить на 2.6, ведь PyGame с которым активно играюсь пока что рекомендует 2.5... Но тенденция развития PyCurl не очень нравится (
ыыы глянь на пост выше
 
Ответить с цитированием

  #10  
Старый 22.05.2009, 17:33
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
С нами: 9746246

Репутация: 806
По умолчанию

Цитата:
Сообщение от login999  
ыыы глянь на пост выше
блин! Не увидел, на новую страницу все перебросило, а я пропустил твой пост. Спасибо! Посмотрю!

По поводу Курла не согласен что это ПХП подход. Курл такая же библиотека как и другие, и если она используется в многих языках - это не делает ее ПХП-шной )

Последний раз редактировалось presidentua; 22.05.2009 в 17:40..
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.