python访问网页时401_从python urllib2.urlopen调用不一致地接收401错误

我有一个python脚本,使用urllib2进行一系列url调用。网址是http,但需要身份验证。我目前正在尝试运行脚本,以便它将进行100多次调用。每次我运行脚本时,一些调用失败,错误代码为401,有些调用通过。所有呼叫都使用相同的用户名和密码进行相同的URL。 (每次运行脚本时,调用失败的调用都不一样,有时第一次调用失败,有时会失败。)

为什么401可能会出现不一致的任何想法?

打印在屏幕上的错误信息是......

以下是负责进行网址调用的方法:

def simpleExecuteRequest(minX, minY, maxX, maxY, type) :

url = 'http://myhost.com/geowebcache/rest/seed/mylayer.xml'

msgTemplate = """<?xml version=\"1.0\" encoding=\"UTF-8\"?>

mylayer

%s

%s

%s

%s

nyc

0

10

image/png

%s

1

"""

message = msgTemplate%(minX, minY, maxX, maxY, type)

headers = { 'User-Agent' : "Python script", 'Content-type' : 'text/xml; charset="UTF-8"', 'Content-length': '%d' % len(message) }

passwordManager = urllib2.HTTPPasswordMgrWithDefaultRealm()

passwordManager.add_password(None, url, 'username', 'xxx')

authenticationHandler = urllib2.HTTPBasicAuthHandler(passwordManager)

proxyHandler = urllib2.ProxyHandler({})

opener = urllib2.build_opener(proxyHandler, authenticationHandler)

urllib2.install_opener(opener)

try :

request = urllib2.Request(url, message, headers)

response = urllib2.urlopen(request)

content = response.read()

print 'success'

except IOError, e:

print e

有时输出看起来像这样......

success

success

...

1分钟后运行它可能看起来像这样......

success

success

success

在两次运行中,min / max x / y和type的相同系列输入以相同的顺序提供。

...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值