0
Google Firebase에 json 문자열을 게시하려고합니다.Python : requests.post 게시하지 않았습니다.
같은 명령은 hickups없이 curl을 사용하지만, 파이썬을 사용하면 동일한 데이터가 DB에 저장되지 않습니다.
INFO:Serial device initialized
INFO:Posting to http://blabla.firebaseio.com/test1.json
INFO:http://blabla.firebaseio.com/test1.json
INFO:{'satt': 10, 'pm10': 30, 'lon': XX.XXXXX, 'pm2.5': 27, 'lat': YY.YYYYY, 'alt': 0.037, 'spd': 336.8}
INFO:PM 10: 30
INFO:PM 2.5: 27
INFO:Latitude: XX.XXXX
INFO:longitude: YY.YYYYY
:
출력은
파이썬 l.py이 http://blabla.firebaseio.com/test1.json을 -u : 내가 사용하는 스크립트를 호출
postdata = {"pm10": pm10, "pm2.5": pm25, "lat": gps_data.get('latitude'), "lon": gps_data.get('longitude'), "alt": gps_data.get('speed'), "spd": gps_data.get('altitude2'), "satt": gps_data.get('satellites')} logging.info(args.url) logging.info(postdata) r = requests.post(args.url, data=postdata, headers={'content-type': 'application/json'}) logging.debug(r)
: 여기
코드입니다하지만 DB를 열면 데이터가 없습니다.
같은 매개 변수를 사용하여 컬을 작동시킵니다.
업데이트 : 그래서,
DEBUG:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): blabla.firebaseio.com DEBUG:requests.packages.urllib3.connectionpool:http://blabla.firebaseio.com:80 "POST /test1.json HTTP/1.1" 404 1571 DEBUG:root:<Response [404]>
'logging.debug (r)'줄이 출력되지 않는 것처럼 보입니다. 로그 레벨을'DEBUG'으로 설정할 수 있습니까? 그렇지 않으면'r' 객체가 다음 값에 대해 가지고있는 것을 보여줄 수 있습니까? 'r.status_code'와'r.text'? – birryree
데이터를 저장하기 전에 데이터가 유효하지 않습니다'json.dumps (your_data)'(어떤 메소드를 사용합니까 : table/Whole_data_as_string?) – dsgdfg
실례지만 로그 수준을 디버그로 설정합니까? – R0b0tn1k