所以我目前在python中有正常运行的代码
import requests
import json
address = "*address here*"
viewkey = "*viewkey here*"
headers = {'content-type': 'application/json'}
url = "https://api.mymonero.com:8443/get_address_txs"
data = {"address":address,"view_key":viewkey}
data = json.dumps(data)
response = requests.post(url, data=data, headers=headers)
print(response.text)
我试图转移到nodejs以将其与我编写的另一个程序集成
var request = require('request');
var options = {
url: 'https://api.mymonero.com:8443/get_address_txs',
headers: {'content-type': 'application/json'},
data: JSON.stringify({
address:"address",
viewkey:"viewkey"
})
};
request.post(options,function(error, response, body) {
console.log(body);
})
我认为代码是完全相同的,但显然我没有从服务器获得第二段代码的错误。请有人帮我迁移吗?
注意:我知道python中的请求有一个json属性,为了清楚起见,我已经用python这样写了它。
对于记录,我从javascript获得的响应是:
{
"Error": "Problems parsing JSON"
}
当我从python:
{
"total_received": "152840132538",
"scanned_height": 2589644,
"scanned_block_height": 1320308,
"start_height": 2586111,
...
}
答案 0 :(得分:2)
不要对你的消息进行字符串化。应该是它。
答案 1 :(得分:1)
在你的json中,在python中,键是view_key
,在javascript中它是view key
。
此外,请求库的选项中没有data
键。您可以使用body
设置原始正文。如果您使用json
,则正文将是您传递的字典的子代表,并为您设置Content-Type
标题。
答案 2 :(得分:0)
正确的我是一个偶然的天才我不知道为什么我现在的方法不起作用,但我提出的解决方案是:
var request = require('request');
var options = {
url: 'https://api.mymonero.com:8443/get_address_txs',
headers: {'content-type': 'application/json'},
json: {
"address":"*address*",
"view_key":"*viewkey*"
}
};
request.post(options,function(error, response, body) {
console.log(body);
})
不知道为什么会有效,但嘿,生活中非常感谢你的建议。