无法使用Python中的mechanize连接到安全网站

时间:2012-10-17 05:13:38

标签: python urllib2 mechanize httplib

我正在尝试使用Python中的mechanize库打开一个安全(https)网站。当我尝试访问网站时,服务器关闭连接并引发异常BadStatusLine。

我尝试使用addheaders属性修改标头,但没有响应。

import mechanize

br = mechanize.Browser()
print 'opening page ...'
resp = br.open('https://onlineservices.tin.nsdl.com/etaxnew/tdsnontds.jsp')     #this one works fine
print 'ok'

print 'opening page 2 ...'
resp = br.open('https://incometaxindiaefiling.gov.in/portal/index.do')          #exception raised 
print 'ok'

例外:

  

Traceback(最近一次调用最后一次):文件       pydev_imports.execfile(file,globals,locals)#execute脚本文件“Z:\ pyTax \ app_test.py”,第22行,in       RESP = br.open( 'https://incometaxindiaefiling.gov.in/portal/index.do')
  文件“build \ bdist.win32 \ egg \ mechanize_mechanize.py”,第203行,in   打开文件“build \ bdist.win32 \ egg \ mechanize_mechanize.py”,第230行,   在_mech_open文件“build \ bdist.win32 \ egg \ mechanize_opener.py”中,   第188行,在打开文件“build \ bdist.win32 \ egg \ mechanize_http.py”中,   第316行,在http_request文件中   读取文件中的“build \ bdist.win32 \ egg \ mechanize_http.py”,第242行   “build \ bdist.win32 \ egg \ mechanize_mechanize.py”,第203行,处于打开状态   文件“build \ bdist.win32 \ egg \ mechanize_mechanize.py”,第230行,中   _mech_open文件“build \ bdist.win32 \ egg \ mechanize_opener.py”,第193行,打开文件   “build \ bdist.win32 \ egg \ mechanize_urllib2_fork.py”,第344行,在_open中   文件“build \ bdist.win32 \ egg \ mechanize_urllib2_fork.py”,第332行,   _call_chain文件“build \ bdist.win32 \ egg \ mechanize_urllib2_fork.py”,第1170行,在https_open文件中   “build \ bdist.win32 \ egg \ mechanize_urllib2_fork.py”,第1116行,   do_open文件“D:\ Python27 \ lib \ httplib.py”,第1031行,在getresponse中       response.begin()文件“D:\ Python27 \ lib \ httplib.py”,第407行,开头       版本,状态,原因= self._read_status()文件“D:\ Python27 \ lib \ httplib.py”,第371行,在_read_status中       提高BadStatusLine(行)httplib.BadStatusLine:''

1 个答案:

答案 0 :(得分:0)

httplib.BadStatusLineisHTTPException的子类。如果服务器使用我们不理解的HTTP状态代码进行响应,则引发此异常。那是什么导致你的问题。我不完全确定修复,因为你的代码在我的电脑上工作正常。