У меня возникли трудности с преобразованием почтового запроса с использованием htppie в python request.post. Этот вопрос в целом о том, как сделать такое преобразование, но я буду использовать конкретный запрос, который я делал, в качестве примера.
Итак, у меня есть следующий почтовый запрос с использованием httpie, который отлично работает:
http post https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-mainnet query='{ indexers {
id
}
}'
Однако при попытке отправить тот же запрос с использованием библиотеки запросов python я попробовал следующее:
import requests
url = 'https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-mainnet'
query = """'{ indexers {
id
}
}'"""
print(requests.post(url, data = query).text)
Это дает ошибку сервера (я пробовал много вариантов этого, а также отправлял словарь для переменной данных, и все они дают одну и ту же ошибку). Ошибка сервера: GraphQL server error (client error): expected value at line 1 column 1
.
Независимо от того, какая ошибка сервера (которая, вероятно, зависит от сервера), это, по крайней мере, означает, что два запроса явно не совпадают.
Итак, как мне преобразовать этот запрос httpie в использование библиотеки запросов python (или любой другой библиотеки python, если на то пошло)?
'
в свой запрос Python, который вы не включаете при запуске команды оболочки. - person larsks   schedule 09.03.2021