Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

09.05.2009, 12:37
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме: 4037638
Репутация:
1821
|
|
Сообщение от inlanger
Я думал будут способы "не через жопу"
Гыгыгы))), ну они наверняка есть)
|
|
|

10.05.2009, 12:30
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
имелось ввиду возможности python в сторону web по сравнению с php.
Они выше. Тот же самый django глянь.
|
|
|

18.05.2009, 09:51
|
|
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
у меня есть список, в котором некоторые элементы повторяются
есть ли какая функция для создания списка без дублей или же модификации исходного?
|
|
|

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

18.05.2009, 11:07
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
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. Как настроить, чтобы сохранялись все куки?
|
|
|

18.05.2009, 11:35
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
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..
Причина: Бля, натупил
|
|
|

18.05.2009, 13:04
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
login999 Спасибо, но не то, это функция из класса для транспорта XMLRPC
Проблема оказалась проста. cookiejar.save не сохранял expired куки, там специальный флаг для этого
|
|
|

22.05.2009, 15:52
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
Провел на форуме: 1724067
Репутация:
806
|
|
недавно посетила мысль о том что понемногу заменить PyCurl на стандартные библиотеки.
И тут возникли два вопроса, что пока не смог решить:
Как запустить запрос через Socks4/5
Как запустить запрос по https
|
|
|

22.05.2009, 16:08
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
urllib2 для http проксей, куков и т.д.
для сокс свой openner написать, там не слишком сложно.
Кстати как напишешь - плз выложи, интересно.
|
|
|

22.05.2009, 16:20
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
PyCurl - выбросить нафик, ибо это:
1. PHP -подход к Python
2. Глючность , если внимательно погуглишь на тему вот этого поста то увидишь что это сишная ошибка, вылазила эта гадость при использовании pyCurl
Socks4/Socks5 - SocksiPy
https через Urllib2 без проблем открывается, никаких шаманств не нужно, правда нету handler для работы с https через прокси - придется что-то выдумывать на эту тему , на activestate есть пример кстати
P.S. Народ подскажите как НОРМАЛЬНО реализовать такую вот цацку:
Код:
def Counter(Count=[0,]):
Count.append(Count[0]+1)
del Count[0]
return Count[0]
она то делает все что мне нужно - запоминает показания счетчика, только мну считает что юзать список ради этого дела некошерно, хотелось бы ФУНКЦИЮ, и чтоб он запоминала именно int
делать переменную не проканает так как я заипусь потом прописывать global Counter везде где мне нужно будет его изменить, а global в функциях есть некошерно
Последний раз редактировалось login999; 22.05.2009 в 16:30..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|