Python requests.get () возвращает пустой результат - PullRequest
0 голосов
/ 09 июля 2020

Я пишу сценарий, который будет опрашивать API плагина Jenkins, чтобы получить список зависимостей плагина. Для этого я использовал модуль requests из python. Он продолжает возвращать пустой ответ, тогда как я получаю ответ JSON в Postman.

import requests

def get_deps():
    url = "https://plugins.jenkins.io/api/plugin/CFLint"
    headers = {
        "Connection": "keep-alive",
        "Accept": "*/*",
        "Accept-Encoding": "gzip, deflate, br"
    }
    reqs = requests.get(url, headers)
    return reqs.status_code
    return reqs.json()

get_deps()

Postman_Result

Результат выглядит следующим образом.

C:\Users\krisT\eclipse-workspace\jenkins>python jenkins.py

C:\Users\krisT\eclipse-workspace\jenkins>

Где я делаю ошибку? Мне все кажется правильным.

Вместо return мне пришлось сохранить ответ в переменной и распечатать ответ. Мой вопрос казался нубом.

s = requests.Session()
def get_deps():
    url = "https://plugins.jenkins.io/api/plugin/CFLint"
    reqs = s.get(url)
    res = reqs.json()
    print(res)

get_deps()

Ответы [ 2 ]

1 голос
/ 09 июля 2020

вам нужно либо распечатать, либо сохранить возврат, полученный из reqs.json(). Также удалите дополнительный return reqs.status_code

1 голос
/ 09 июля 2020

попробуйте это:

import requests
s = requests.Session()
def test_requests():
    response = s.get(_URL)
    response.status_code
    return response.text
...