Python请求中的动态负载
我在Python中有一个请求,希望使其成为动态的。这是关于有效负载查询的,如何在有效负载中添加变量? 我尝试过使用.format,但不起作用Python请求中的动态负载,python,request,payload,Python,Request,Payload,我在Python中有一个请求,希望使其成为动态的。这是关于有效负载查询的,如何在有效负载中添加变量? 我尝试过使用.format,但不起作用 url = "https://graphql.bitquery.io" payload = "{\"query\":\"{\\r\\n ethereum(network: bsc) {\\r\\n dexTrades(\\r\\n options: {limit: 100, de
url = "https://graphql.bitquery.io"
payload = "{\"query\":\"{\\r\\n ethereum(network: bsc) {\\r\\n dexTrades(\\r\\n options: {limit: 100, desc: \\\"tradeAmount\\\"}\\r\\n date: {after: \\\"2021-04-30\\\"}\\r\\n buyCurrency: {in: \\\"0xe7a39e210f067caad7992e6866beceb95b4394f7\\\"}\\r\\n ) {\\r\\n transaction {\\r\\n hash\\r\\n }\\r\\n date {\\r\\n date\\r\\n }\\r\\n buyAmount\\r\\n buyAmountInUsd: buyAmount(in: USD)\\r\\n buyCurrency {\\r\\n symbol\\r\\n address\\r\\n tokenId\\r\\n tokenType\\r\\n decimals\\r\\n name\\r\\n }\\r\\n sellAmount\\r\\n sellCurrency {\\r\\n symbol\\r\\n address\\r\\n }\\r\\n sellAmountInUsd: sellAmount(in: USD)\\r\\n tradeAmount(in: USD)\\r\\n smartContract {\\r\\n address {\\r\\n address\\r\\n annotation\\r\\n }\\r\\n protocolType\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"variables\":{}}"
headers = {
'X-API-KEY': '',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
我认为如果我理解正确,GraphQLAPI将采用json格式的字符串,您需要修改json的查询部分。如果您将这两个变量分开,并为您希望在有效负载中更改的所需变量提供
%s
格式,那么它应该可以工作
我使用了date
和desc
作为示例,但是您希望更改此方法的任何其他变量也可以使用
导入json
导入请求
日期='2021-04-30'
desc='tradeAmount'
query=”“”
{
以太坊(网络:bsc){
德克塞德斯(
选项:{limit:100,desc:“%s”}
日期:{在:“%s”之后}
购买货币:{in:“0xE7A39E210F067CAAD7992E6866BECB95B4394F7”}
) {
交易{
搞砸
}
日期{
日期
}
买价
购买金额单位:购买金额(单位:美元)
购买货币{
符号
地址
令牌ID
令牌类型
小数
名称
}
销售量
卖出货币{
符号
地址
}
销售金额单位:销售金额(单位:美元)
交易金额(单位:美元)
智能合约{
地址{
地址
注释
}
原型
}
}
}
}
“%”(说明,日期)
d={'query':查询,'variables':{}
有效负载=json.dumps(d)
url=”https://graphql.bitquery.io"
标题={
“X-API-KEY”:“,
“内容类型”:“应用程序/json”
}
response=requests.request(“POST”,url,headers=headers,data=payload)