Преобразование команды curl в запросы Python

Я пытаюсь преобразовать команду curl в запросы python (используя urllib). Это для push-шлюза Promotheus: https://github.com/prometheus/pushgateway

данные могут быть размещены по ссылке с помощью curl следующим образом: some_metric{label="val1"} 42

Пример: CountRec{studentname="John", subject="English",subjectcode="DU12345678999",system="pythonETL"} 40

Но я не понимаю, как отправлять сообщения с использованием python вместе со значением 40

Ниже приведен код, который я пробовал: url='http://host:port/metrics/job/jobname/instance/host:port'

      myRestRequestObj = urllib.request.Request(url)
      myRestRequestObj.add_header('Content-Type','application/json')
      myRestRequestObj.get_method = lambda : 'PUT'
      myStringJson={'CountRec{"studentname":"John", "subject"="English","subjectcode"="DU12345678999","system"="pythonETL"} 40}'

     data=urllib.parse.urlencode(myStringJson)
     data1 = data.encode('ascii')
     res = urllib.request.urlopen(myRestRequestObj,data1)
     rest_txt=res.read().decode('utf-8')
     return ast.literal_eval(rest_txt)

Но я столкнулся с ошибкой, говоря, что это недопустимая нестроковая последовательность или объект сопоставления.

Пожалуйста, помогите мне решить эту проблему:) Заранее спасибо!

0 ответов

Другие вопросы по тегам