实现地理位置编码,域名到IP的解析。没有一点思路,会的同学可以讨论一下吗?
1条回答 默认 最新
关注 地理位置正向解码:
def positivedecoding(address):#地理位置正向解码 base = 'http://api.map.baidu.com/geocoding/v3/' path = '{}?address={}&ak=GtuMeau2AjP6AQIDhkXbPU95ptUlb5FK&output=json'.format(base, quote_plus(address)) connection = http.client.HTTPConnection('api.map.baidu.com') connection.request('GET', path) rawreply = connection.getresponse().read() reply = rawreply.decode('utf-8') return reply def reversedecoding(location):#地理位置反向解码 base = 'http://api.map.baidu.com/reverse_geocoding/v3/' path = '{}?location={}&ak=GtuMeau2AjP6AQIDhkXbPU95ptUlb5FK&output=json'.format(base, quote_plus(location)) connection=http.client.HTTPConnection('api.map.baidu.com') connection.request('GET',path) rawreply=connection.getresponse().read() reply=json.loads(rawreply.decode('utf-8')) return (reply['result']['formatted_address']) def lookup(url):#域名解析 aa=socket.getaddrinfo(url,None) return aa
通过main参数调用,首先判断是服务器还是客户端,如果是服务器就传入两个参数,一个是服务器ip,另外一个是服务器的端口号。如果是客服端那么就要传入四个参数,一个是服务器ip,一个是服务器端口号,一个是选择何种服务参数以及需要查询的数据
首先通过终端将四个参数传入到客户端,先把选择何种服务的长度传入服务器,再把何种服务内容经过json转化,把对象发送给服务器。然后客户端再把需要查询数据的长度发送给服务器,再把查询的内容使用json格式把对象发送给服务端。
服务器先接收何种服务,如果接收的何种服务是location或address或DNS一种,那么相应的数据块就会接收传入的查询数据,如果没有就不会接收,并发给客户端说没有该服务。有对应的服务就会将得到数据进行加解密或dns解析,在将得到的结果数据发送给客服端。
客服端就会得到相应的数据,或者提示服务器没有提供该服务。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
- ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
- ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
- ¥15 husky+kinova jaco2 仿真
- ¥15 zigbee终端设备入网失败
- ¥15 金融监管系统怎么对7+4机构进行监管的
- ¥15 硬件IIC从模式的数据发送,中断数据的接收,不能用HAL库(按照时序图)
- ¥20 QAxWidget上显示一个word文档后,如何直接在该QAxWidget上修改和保存word文档
- ¥15 Simulink仿真报错,请问如何解决
- ¥20 宝塔面板无法添加Node项目,一直处于正在添加脚本页面