Перевести команду CURL в код Python для извлечения данных из Cloudflare API - PullRequest
0 голосов
/ 24 ноября 2018

Я пытался создать код Python для извлечения данных API из Аналитическая панель CloudFlare .Вот как я перевел следующую команду Curl в Python:

Я хочу запросить данные за период времени 1 день ( из 2018-11-18 00:00:00 до 2018-11-19 00:00:00).

Команда скручивания:

curl -X GET "https://api.cloudflare.com/client/v4/zones/cd7d0123e3012345da9420df9514dad0/analytics/dashboard?since=2018-11-18T00:00:00Z&until=2018-11-19T00:00:00Z&continuous=true" \
 -H "Content-Type:application/json" \
 -H "X-Auth-Key:1234567893feefc5f0q5000bfo0c38d90bbeb" \
 -H "X-Auth-Email:example@example.com"

Код Python:

  import http.client, json

  def find_data():
    conn = http.client.HTTPSConnection("api.cloudflare.com")
    headers = {
        'Content-Type': "application/json",
        'X-Auth-Email': "example@example.com",
        'X-Auth-Key': "1234567893feefc5f0q5000bfo0c38d90bbeb",
    }
    payload = "since=2018-11-18T00:00:00Z&until=2018-11-19T00:00:00Z&continuous=true"
    conn.request("POST", "/client/v4/zones/cd7d0123e3012345da9420df9514dad0/analytics/dashboard", payload, headers)
    res = conn.getresponse()
    data = res.read().decode('utf-8')
    loadedjson = json.loads(data)
    return(loadedjson)
  print(find_data())

Проблема:

Сценарий работает, но я получаю данные с 17 ноября до текущей даты, т.е. я не получаю запрашиваемые данные от18-19 ноября, но 17-24 .

Это правильный способ запроса данных из облачной вспышки, если нет, исправьте это.Если в Python есть другой способ извлечения данных из API, пожалуйста, измените скрипт.

1 Ответ

0 голосов
/ 24 ноября 2018
import requests

headers = {
  'Content-Type': 'application/json',
  'X-Auth-Key': '1234567893feefc5f0q5000bfo0c38d90bbeb',
  'X-Auth-Email': 'example@example.com',
}

response = requests.get('https://api.cloudflare.com/client/v4/zones/cd7d0123e3012345da9420df9514dad0/analytics/dashboard?since=2018-11-18T00:00:00Z&until=2018-11-19T00:00:00Z&continuous=true', headers=headers)
...