#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
. Не уверен, что вы подразумеваете под ПАРАМЕТРАМИ использования