Ошибка, полученная при использовании GET-запроса API с использованием JSON и Python

#python #json #api #rest #get

#python #json #API #rest #получить

Вопрос:

Я получаю сообщение об ошибке при попытке выполнить запрос get API при использовании JSON RESTful services и Python3. Любая помощь приветствуется. Я должен использовать инструкции API с этого веб-сайта https://nvd.nist.gov/developers/vulnerabilities #. У меня уже есть номер CVE, он указан в моем URL ниже.

 import requests
import json

response = requests.get('https://services.nvd.nist.gov/rest/json/CVE-2021-40463/1.0/').json()

print (response)
 

 File "/Users/xxxx/Desktop/UT_Code/UT_Homework.py", line 4, in <module>
    response = requests.get('https://services.nvd.nist.gov/rest/json/CVE-2021-40463/1.0/').json()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/requests/models.py", line 910, in json
    return complexjson.loads(self.text, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
 

Комментарии:

1. Вы открывали URL-адрес в браузере? Он не возвращает JSON.

2. Это сбивает с толку. Я ничего не получаю. На веб-сайте строго указано, что он использует JSON.

3. Я думаю, вы хотите получить доступ https://services.nvd.nist.gov/rest/json/cve/1.0/CVE-2021-40463/

4. вы читали документацию? очевидно, что ваш get-запрос неверен. вам нужно указать ссылку, а затем параметры и использовать approipriate api

5. @sahasrara62 извиняется — явно не понял инструкции. Я всего лишь новичок.

Ответ №1:

Ваш URL неверен. Использование

 https://services.nvd.nist.gov/rest/json/cve/1.0/CVE-2021-40463/
 

полный код:

 import requests
import json

response = requests.get('https://services.nvd.nist.gov/rest/json/cve/1.0/CVE-2021-40463')
data = response.json()
print(json.dumps(data, indent=4))
 

Комментарии:

1. Привет, к сожалению, я просто неправильно ввел URL. Код работает с моей стороны. И последний вопрос, можете ли вы дать мне советы о том, как использовать ПАРАМЕТРЫ в моем коде, чтобы он лучше печатался в моем терминале? Спасибо!

2. Я отредактировал свой код. В качестве альтернативы — используйте pprint.pprint . Не уверен, что вы подразумеваете под ПАРАМЕТРАМИ использования