我有以下网址
当您将上述网址放在浏览器中并按回车键时,它将重定向到以下网址 http://www.kennystopproducts.info/Top/?hop=arnishad
但是,当我尝试通过 python 程序(在下面你可以看到代码)找到相同的上述 url http://bit.ly/cDdh1c的基本 url(在消除所有重定向 url 之后)时,我得到了以下 url http://www.cbtrends.com/作为基本网址。请参阅下面的日志文件
为什么相同的 url 在浏览器和 python 程序中表现不同。我应该在 python 程序中更改什么以便它可以重定向到正确的 url?我想知道这种奇怪的行为是如何发生的。?
我观察到类似行为的其他网址是
- http://bit.ly/bEKyOx ====> http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=150413977509 (通过浏览器)
http://www.ebay.com(通过python程序)
maxattempts = 5 turl = url while (maxattempts > 0) : host,path = urlparse.urlsplit(turl)[1:3] if len(host.strip()) == 0 : return None try: connection = httplib.HTTPConnection(host,timeout=10) connection.request("HEAD", path) resp = connection.getresponse() except: return None maxattempts = maxattempts - 1 if (resp.status >= 300) and (resp.status <= 399): self.logger.debug("The present %s is a redirection one" %turl) turl = resp.getheader('location') elif (resp.status >= 200) and (resp.status <= 299) : self.logger.debug("The present url %s is a proper one" %turl) return turl else : #some problem with this url return None return None
日志文件供您参考
2010-02-14 10:29:43,260 - paypallistener.views.MrCrawler - INFO - Bringing down the base URL
2010-02-14 10:29:43,261 - paypallistener.views.MrCrawler - DEBUG - what is the url=http://bit.ly/cDdh1c
2010-02-14 10:29:43,994 - paypallistener.views.MrCrawler - DEBUG - The present http://bit.ly/cDdh1c is a redirection one
2010-02-14 10:29:43,995 - paypallistener.views.MrCrawler - DEBUG - what is the url=http://www.cbtrends.com/get-product.html?productid=reFfJcmpgGt95hoiavbXUAYIMP7OfiQn0qBA8BC7%252BV8%253D&affid=arnishad&tid=arnishad&utm_source=twitterfeed&utm_medium=twitter
2010-02-14 10:29:44,606 - paypallistener.views.MrCrawler - DEBUG - The present http://www.cbtrends.com/get-product.html?productid=reFfJcmpgGt95hoiavbXUAYIMP7OfiQn0qBA8BC7%252BV8%253D&affid=arnishad&tid=arnishad&utm_source=twitterfeed&utm_medium=twitter is a redirection one
2010-02-14 10:29:44,607 - paypallistener.views.MrCrawler - DEBUG - what is the url=http://www.cbtrends.com/
2010-02-14 10:29:45,547 - paypallistener.views.MrCrawler - DEBUG - The present url http://www.cbtrends.com/ is a proper one
http://www.cbtrends.com/