博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python url2lib HTTP Error 407
阅读量:5795 次
发布时间:2019-06-18

本文共 1254 字,大约阅读时间需要 4 分钟。

公司的网络环境是通过代理上网,用python url2lib普通的代理验证不能通过,示例代码:

url = 'www.python.org'username = 'user'password = 'pass'password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()# None, with the "WithDefaultRealm" password manager means# that the user/pass will be used for any realm (where# there isn't a more specific match).password_mgr.add_password(None, url, username, password)auth_handler = urllib2.HTTPBasicAuthHandler(password_mgr)opener = urllib2.build_opener(auth_handler)urllib2.install_opener(opener)print urllib2.urlopen("http://www.python.org")

 

仍然会报以下错误:

HTTP Error 407: Proxy Authentication Required ( Forefront TMG requires authorization to fulfill the request.

查了一下,发现跟公司网络代理使用NTLM验证有关,需要安装python ntml包来完成验证。

简单直接用 easy_install python-ntlm

安装好后下面是官方简单的连接代码:

import urllib2from ntlm import HTTPNtlmAuthHandleruser = 'domain\user'password = "pass"url = "http://www.python.org"passman = urllib2.HTTPPasswordMgrWithDefaultRealm()passman.add_password(None, url, user, password)# create the NTLM authentication handlerauth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)# create and install the openeropener = urllib2.build_opener(auth_NTLM)urllib2.install_opener(opener)# retrieve the resultresponse = urllib2.urlopen(url)print(response.read())

 一次性成功。

 

转载地址:http://zcdfx.baihongyu.com/

你可能感兴趣的文章
(七)JSP之EL表达式
查看>>
LINUX DNS
查看>>
新人报到列表
查看>>
linux中的LVM
查看>>
linux-unit1
查看>>
jquer和封装的运动函数对比
查看>>
阿里云CentOS 6.5安装Mysql 5.6
查看>>
java-简单学生管理系统功能实现
查看>>
解析朝鲜杀毒软件SiliVaccine:疑似抄袭日本安全公司代码并捆绑恶意软件
查看>>
linux磁盘阵列raid详解
查看>>
python 2.x编解码
查看>>
python学习登录器
查看>>
Linux环境下tomcat中项目不被加载问题
查看>>
客户端负载均衡与服务端负载均衡
查看>>
Android自定义控件View的探讨
查看>>
学习资源
查看>>
拥有自我意识的机器人 工程师打造的这款机器手臂可想象自身形态
查看>>
IOS中 Block简介与用法(一)
查看>>
Oracle大幅度裁员意味着什么?
查看>>
怎么让软键盘弹出时,部分控件上移
查看>>