我正在尝试从维基百科获取页面。我已经在我的请求中添加了一个“用户代理”标头。但是,当我使用 urllib2.urlopen 打开页面时,我得到以下页面:错误:无法检索请求的 URL
错误
所请求的网址无法检索
尝试检索 URL 时遇到以下错误:
-
拒绝访问。
访问控制配置会阻止您的请求此时被允许。如果您认为这不正确,请联系您的服务提供商。
这是我用来打开页面的代码:
def get_site(request_user_link,request): # request_user_link is request for url entered by user
# request is request generated by current page - used to get HTTP_USER_AGENT
# tag for WIKIPEDIA and other sites
request_user_link.add_header('User-Agent',str(request.META['HTTP_USER_AGENT']))
try:
response = urllib2.urlopen(request_user_link)
except urllib2.HTTPError, err:
logger.error('HTTPError = ' +str(err.code))
response=None
except urllib2.URLError, err:
logger.error('HTTPError = ' +str(err.reason))
response=None
except httplib.HTTPException, err:
logger.error('HTTPException')
response=None
except Exception:
import traceback
logger.error('generic exception' + traceback.format_exec())
response=None
return response
我将来自当前用户对象的 HTTP_USER_AGENT 的值作为我发送到维基百科的请求的“User-Agent”标头传递。如果我需要在此请求中添加任何其他标头,请告诉我。否则,请告知替代解决方案。
编辑:请注意,在添加“用户代理”标题后,我昨天能够成功获取该页面。今天,我似乎收到了这个错误页面。