Проблема заключается в том, что вы передаете args
dict requests.post
в качестве параметра url.Запросы подтверждают, что URL-адрес, который вы указываете .post()
, действителен, а URL-адрес, начинающийся с {'marketplace': ...}
, явно является недействительным.
Эта часть кода:
response = requests.post(
url=args,
json={
'url': url
}, timeout=60
)
Иargs = query_parser.parse_args()
.
Поскольку вы просили источник, чтобы помочь вам узнать, это код, в котором запросы проверяют адаптер в начале URL-адреса, который вы можете найти в исходном коде здесь :
def get_adapter(self, url):
"""
Returns the appropriate connection adapter for the given URL.
:rtype: requests.adapters.BaseAdapter
"""
for (prefix, adapter) in self.adapters.items():
if url.lower().startswith(prefix.lower()):
return adapter
# Nothing matches :-/
raise InvalidSchema("No connection adapters were found for '%s'" % url)
self.adapters.items()
, который используется для проверки URL-адреса, происходит от здесь :
# Default connection adapters.
self.adapters = OrderedDict()
self.mount('https://', HTTPAdapter())
self.mount('http://', HTTPAdapter())
И mount()
Метод по существу отображает ожидаемый префикс URL-адреса для одного из типов адаптеров подключения запросов в self.adapters
dict.