天地图地理编码接口返回403解决方案

之前发布过一篇用python 获取天地图地址坐标的文章

python调用地图api将批量地址转成坐标_ou4582850的博客-CSDN博客

最近上csdn,看到有评论说使用有问题,于是将代码调试一下,发现确实无法正常获取

首先确认了天地图的接口文档上是否有发生过变化。

看了一下接口没有任何变化,还是一个get请求,query里传入对应的地址。

我的代码之前是这样获取地址的,就简单的使用get请求去调用天地图的api

返回的结果却是403:

 在浏览器里直接请求url,又是能拿到结果 

于是猜测是不是请求的header里要加上某些值才行,于是用浏览器开发者工具查看,发现可能有两个值会影响这个,一个是我们的user-Agent,还有一个是Cookie,其他的感觉都不太影响我们的请求。

于是我将header加上这两个值

可以看出加了这两个请求头,就能正常获取到地址对应的坐标。user-Agent应该是服务端用做是否是浏览器发的请求的依据,HWWAFSESID 不清楚是什么,为什么加上这个就可以了。

于是查了一下,发现是华为的WAF给加上的;大体就是防护域名/IP接入WAF后,WAF会在客户请求Cookie中插入HWWAFSESID,HWWAFSESTIME等字段,这些字段服务于WAF统计和安全特性,不影响用户业务。

附上相关资料 WAF功能介绍(入门扫盲篇) - 一觉醒来写程序 - 博客园本文转自:https://mp.weixin.qq.com/s/CXTedk3BAVNt0elOsaFccA做了略微的修改。1 WAF功能WAF全称叫Web Application Firewall,https://www.cnblogs.com/realjimmy/p/12937247.html

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值