如果我使用 Python 的 urllib 执行以下操作,它的安全性如何?
username = raw_input("Enter your username: ")
password = getpass.getpass("And password: ")
auth = urllib.urlencode({"username": username,"password": password})
validated = urllib.urlopen('https://loginhere.com', auth)
观看用户机器和本地网络之间的 HTTP 请求流量的人可以获取密码吗?或者 urllib 是否加密登录数据?
我一直在看 urllib documentation并看到关于不检查 https 证书的警告,但看不到任何关于加密的信息。
请您参考如下方法:
urllib 不加密任何东西,它只使用从套接字类传递的 SSL 库。 urllib per sae 只是按照您定义的方式发送数据。
通过以下方式验证 SSL:
import urllib2
try:
response = urllib2.urlopen('https://example.com')
print 'response headers: "%s"' % response.info()
except IOError, e:
if hasattr(e, 'code'): # HTTPError
print 'http error code: ', e.code
elif hasattr(e, 'reason'): # URLError
print "can't connect, reason: ", e.reason
else:
raise
