如何在第三方Python库OSMnx中禁用SSL证书验证?
解决OSMnx在受限网络下的SSL验证问题
我来帮你搞定这个问题!在VPN或办公网络里OSMnx连不上Nominatim的情况挺常见的,要给所有查询统一设置ssl_verify为False,有两种靠谱的方法:
全局配置(一次性生效所有查询)
OSMnx自带全局配置工具,只需要在脚本开头加一行代码,就能让所有后续的OSMnx请求都跳过SSL证书验证:import osmnx as ox # 全局禁用SSL证书对等验证 ox.config(ssl_verify=False)这样不管你后面调用
graph_from_place、geocode还是其他需要请求Nominatim的函数,都会自动套用这个设置,不用每次都手动传参数。单个函数调用(按需灵活设置)
如果你不想全局修改配置,也可以在每个需要发起请求的函数里单独传入ssl_verify=False参数。比如:import osmnx as ox # 仅针对这个地图生成请求禁用SSL验证 G = ox.graph_from_place("Beijing, China", ssl_verify=False) # 针对地理编码请求单独设置 location = ox.geocode("Shanghai, China", ssl_verify=False)这种方式更灵活,适合只需要在特定请求里跳过验证的场景。
注意:正如你提到的,禁用SSL证书对等验证确实存在安全风险,可能会让你的请求被中间人攻击篡改数据。所以请只在你完全信任的网络环境(比如公司内部VPN、可信办公网络)下使用这个设置,不要在公共网络里开启。
内容的提问来源于stack exchange,提问作者Charles Bushrow




