Форум сайта python.su
>Никак не выходит подключить HTTPS. :-(
>Ставил Win32OpenSSL-v0.9.8b.exe и pyOpenSSL-0.6.win32-py2.4.exe однако HTPPS ка не было так и нет..
Т.е. например:
import httplib
HOSTNAME = ‘login.yahoo.com’
conn = httplib.HTTPSConnection(HOSTNAME)
conn.putrequest('GET', ‘/’)
conn.endheaders()
response = conn.getresponse()
print response.read()
File “D:\Python24\lib\httplib.py”, line 1069, in connect
ssl = socket.ssl(sock, self.key_file, self.cert_file)
AttributeError: ‘module’ object has no attribute ‘ssl’
:-(
Офлайн
>>> import socket
>>> dir(socket)
ssl есть?
+_ssl.pyd в DLLs
а опен ссл и тп вроде как не нужны
Офлайн
Проблема в том что pyOpenSSL-0.6.win32-py2.4.exe - это сторонняя библиотека для работы с OpenSSL, предоставляющая такие модули как SSL, crypto и т.д., а для того чтоб работала поддержка ssl соединений в модуле soket требуется родная сишная библиотека _ssl.
Вот кусок кода из socet.py
'''
…
ssl() – secure socket layer support (only available if configured)
…
'''
import _socket
from _socket import *
_have_ssl = False
try:
import _ssl
from _ssl import *
_have_ssl = True
except ImportError:
pass
Для того чтоб появилась библиотека _ssl в python его надо собрать с поддержкой OpenSSL(по умолчанию она отключена).
Офлайн
slav0nicOpenSSL действительно не нужен, потому что _ssl при сборке статически линкуется с библиотеками OpenSSL.
>>> import socket
>>> dir(socket)
ssl есть?
+_ssl.pyd в DLLs
а опен ссл и тп вроде как не нужны
Офлайн
slav0nic_ssl.pyd-а нет. Вопрос где взять собраный?
>>> import socket
>>> dir(socket)
ssl есть?
+_ssl.pyd в DLLs
а опен ссл и тп вроде как не нужны
Офлайн
хз я юзаю стандартный питон с оффа)
чего и вам желаю, особенно прочтите;) http://aspn.activestate.com/ASPN/docs/ActivePython/2.4/faq.html#ext_ssl
в активе его и нет)
Офлайн
MielofonМожно скачать исходники python и собрать их самому c поддержкой ssl, для этого нужен MS VC++ 7.1.
_ssl.pyd-а нет. Вопрос где взять собраный?
попробую обновить ActivePython…
Офлайн
slav0nicСкачал с python.org - начало работать..
хз я юзаю стандартный питон с оффа)
чего и вам желаю, особенно прочтите;) http://aspn.activestate.com/ASPN/docs/ActivePython/2.4/faq.html#ext_ssl
в активе его и нет)
1
2
3
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 401 Authorization Required\r\n'
header: Date: Thu, 10 Aug 2006 11:24:23 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: private
header: Last-Modified: Thu, 10 Aug 2006 11:24:23 GMT
header: Pragma: no-cache
header: WWW-Authenticate: Basic realm="skyDSL Webserver"
header: Content-Length: 776
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
4
5
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 401 Authorization Required\r\n'
header: Date: Thu, 10 Aug 2006 11:24:25 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: private
header: Last-Modified: Thu, 10 Aug 2006 11:24:25 GMT
header: Pragma: no-cache
header: WWW-Authenticate: Basic realm="skyDSL Webserver"
header: Content-Length: 776
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nAuthorization: Basic \r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 302 Found\r\n'
header: Date: Thu, 10 Aug 2006 11:24:28 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
header: Last-Modified: Thu, 10 Aug 2006 11:24:28 GMT
header: Pragma: no-cache
header: Set-Cookie: SKYSESSION=4bf662e0c9b67c2ad8cf855ad1c8f3a8; path=/
header: Expires: Thu, 19 Nov 1981 08:52:00 GMT
header: Location: /site/index.php?L=en
header: Content-Length: 0
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
6
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nAuthorization: Basic \r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 302 Found\r\n'
header: Date: Thu, 10 Aug 2006 11:24:32 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
header: Last-Modified: Thu, 10 Aug 2006 11:24:32 GMT
header: Pragma: no-cache
header: Set-Cookie: SKYSESSION=94c00e6f33edcdcf08de7176fc858069; path=/
header: Expires: Thu, 19 Nov 1981 08:52:00 GMT
header: Location: /site/index.php?L=en
header: Content-Length: 0
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
7
...
Отредактировано (Авг. 10, 2006 14:31:19)
Офлайн
slivlenВариант с python.org юолее приемлемый :-)MielofonМожно скачать исходники python и собрать их самому c поддержкой ssl, для этого нужен MS VC++ 7.1.
_ssl.pyd-а нет. Вопрос где взять собраный?
попробую обновить ActivePython…
Офлайн
MielofonЕсли честно, то доконца не вникал в твой код, поэтому могу ошибаться, но в предпоследнем ответе сервер выдает тебе куки с идентификатором сессии, при следующем запросе попробуй отослать этот куки ему обратно.
…
Мне надо залогинится на странице URL0 и последовательно скачать 2 страницы URL1 и URL2.
А оно в результате постоянно redirectit :-( :1
2
3
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 401 Authorization Required\r\n'
header: Date: Thu, 10 Aug 2006 11:24:23 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: private
header: Last-Modified: Thu, 10 Aug 2006 11:24:23 GMT
header: Pragma: no-cache
header: WWW-Authenticate: Basic realm="skyDSL Webserver"
header: Content-Length: 776
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
4
5
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 401 Authorization Required\r\n'
header: Date: Thu, 10 Aug 2006 11:24:25 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: private
header: Last-Modified: Thu, 10 Aug 2006 11:24:25 GMT
header: Pragma: no-cache
header: WWW-Authenticate: Basic realm="skyDSL Webserver"
header: Content-Length: 776
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nAuthorization: Basic \r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 302 Found\r\n'
header: Date: Thu, 10 Aug 2006 11:24:28 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
header: Last-Modified: Thu, 10 Aug 2006 11:24:28 GMT
header: Pragma: no-cache
header: Set-Cookie: SKYSESSION=4bf662e0c9b67c2ad8cf855ad1c8f3a8; path=/
header: Expires: Thu, 19 Nov 1981 08:52:00 GMT
header: Location: /site/index.php?L=en
header: Content-Length: 0
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
6
send: 'GET /logon.php?L=en HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: service.skydsl.de\r\nConnection: close\r\nAuthorization: Basic \r\nUser-agent: Python-urllib/2.4\r\n\r\n'
reply: 'HTTP/1.1 302 Found\r\n'
header: Date: Thu, 10 Aug 2006 11:24:32 GMT
header: Server: Apache
header: X-Powered-By: PHP/4.3.10
header: Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
header: Last-Modified: Thu, 10 Aug 2006 11:24:32 GMT
header: Pragma: no-cache
header: Set-Cookie: SKYSESSION=94c00e6f33edcdcf08de7176fc858069; path=/
header: Expires: Thu, 19 Nov 1981 08:52:00 GMT
header: Location: /site/index.php?L=en
header: Content-Length: 0
header: Connection: close
header: Content-Type: text/html; charset=iso-8859-1
7
...
Офлайн