def get_json(server,area_id,function,id,cookies,version): data_instant = data_dict.copy() data_instant['area']=area_id data_instant['dtu_msg[res_type]'] = res_type_dict[function] data_instant['res_type'] = res_type_dict[function] data_instant['dtu_msg[res_id]'] = id r = requests.post(url_prefix_dict[version][server]+url_infix_dict[version][server]+url_suffix_dict[function], data=data_instant, cookies=cookies) result = json.loads(r.text) print(r.text) start_time = time.time() while 'status' in result.keys() and result['status'] == 'failed': r = requests.post(url_prefix_dict[version][server] + url_infix_dict[version][server] + url_suffix_dict[function], data=data_instant, cookies=cookies) result = json.loads(r.text) if time.time() - start_time >=5: return {} #此处添加如果超时则是查不到结果 if len(result['rows']) == 0: return {} return result['rows'][0]
时间: 2024-04-26 22:22:53 浏览: 131
对pandas中to_dict的用法详解
这是一个函数,函数名为 get_json,接受六个参数,分别是 server、area_id、function、id、cookies 和 version。函数的功能是向指定的 URL 发送一个 POST 请求,请求中携带了特定的数据和 Cookie,获取服务器返回的 JSON 数据并进行解析。其中,data_dict、url_prefix_dict、url_infix_dict、url_suffix_dict、res_type_dict 等是多个字典,分别存储了请求数据、URL 的前缀、中缀和后缀信息,以及资源类型信息。函数中使用了 requests 库发送 POST 请求,并将响应的 JSON 数据解析成字典格式后返回。如果请求失败,则会在 5 秒内不停地尝试重新发送请求,直到请求成功或者超时。如果最终获取到的 JSON 数据中 rows 字段为空,则返回一个空字典。
阅读全文