Python urllib2 HTTPS и аутентификация NTLM прокси

От моего ограниченного понимания Objective C не все объекты получены из NSObject (в отличие от Java, где все объекты происходят из Объекта). У Вас могут теоретически быть другие корневые объекты. идентификатор мог относиться к любому из тех non-NSObject производных объектов.

6
задан Laurent Luce 26 September 2009 в 15:03
поделиться

3 ответа

Попробуйте эти поправки:

my %my_hash;

# ["aa" , "bbb"] produces an array reference.  Use () instead
my @my_array = ("aa" , "bbb");

# 'Kunjan' hash is given reference to @my_array
$my_hash{ Kunjan } = \@my_array;

# bareword for hash key is nicer on the eye IMHO
print $my_hash{ Kunjan }[0];


Однако есть еще одна вещь, которую вам нужно учитывать, если вы используете этот метод:

unshift @my_array, 'AA';
print $my_hash{ Kunjan }[0];    # => AA - probably not what u wanted!


Итак, что вы, вероятно, ищете:

$my_hash{ Kunjan } = ["aa" , "bbb"];

Затем хэш больше не ссылается на @my_array.

/ I3az /

Urllib2 не поддерживает прокси NTLM, но pycurl поддерживает. Выдержка:

self._connection = pycurl.Curl()
self._connection.setopt(pycurl.PROXY, PROXY_HOST)
self._connection.setopt(pycurl.PROXYPORT, PROXY_PORT)
self._connection.setopt(pycurl.PROXYUSERPWD,
                        "%s:%s" % (PROXY_USER, PROXY_PASS))
...
6
ответ дан 10 December 2019 в 02:50
поделиться

http://code.google.com/p/ python-ntlm /

Я никогда не пробовал использовать HTTPS, но думаю, что он должен работать.

РЕДАКТИРОВАТЬ: Если вы используете SSL-туннелирование, проверка подлинности прокси - плохая идея.

Прокси-сервер, использующий базовую проверку подлинности поверх HTTPS, небезопасен при туннелировании SSL. Ваш пароль будет отправлен прокси в открытом виде (в кодировке Base64). Многие предполагают, что пароль будет зашифрован внутри SSL. В данном случае это не так.

Практически невозможно поддерживать другие механизмы шифрования или хеширования, такие как Digest / NTLM, потому что все они требуют согласования (множественный обмен) и что s не определены в протоколе CONNECT. Это согласование происходит вне диапазона HTTP-соединения. Это очень сложно реализовать и в прокси / браузере.

Если это корпоративный прокси, IP ACL - единственное безопасное решение.

2
ответ дан 10 December 2019 в 02:50
поделиться

Хороший рецепт (для HTTPS с прокси) и обсуждение здесь , должно быть возможно объединить это с кодом python-nltm, уже предложенным @ZZ.

1
ответ дан 10 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: