Python REST API调用等价于节点.js

2024-04-19 07:40:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在尝试与UniProt API通信。就像我开始说的那样节点.js,我有一些初始问题,即:

我正在尝试转换此python请求:

import urllib,urllib2

url = 'http://www.uniprot.org/uploadlists/'

params = {
'from':'ACC',
'to':'P_REFSEQ_AC',
'format':'tab',
'query':'P13368 P20806 Q9UM73 P97793 Q17192'
}

data = urllib.urlencode(params)
request = urllib2.Request(url, data)
contact = "" # Please set your email address here to help us debug in case of problems.
request.add_header('User-Agent', 'Python %s' % contact)
response = urllib2.urlopen(request)
page = response.read(200000)

至节点.js. 你知道吗

我的尝试:

var params = {
'from':'ACC',
'to':'P_REFSEQ_AC',
'format':'json',
'query':'P13368 P20806 Q9UM73 P97793 Q17192'
}



var post_data = querystring.stringify(params);
var url = 'http://www.uniprot.org/uploadlists/'

var options = {
uri: url,
qs: post_data,
method: 'POST'
};

urllib.request(options, function (err, data, res) {
if (err) {
    throw err; // you need to handle error
}
console.log(data.toString())

cb("test") // this doesnt currently matter
});

我做错什么了?非常感谢。你知道吗


Tags: toorghttpurldata节点requestvar
1条回答
网友
1楼 · 发布于 2024-04-19 07:40:24

使用node-rest-client可以帮助您实现您正在尝试的目标。你知道吗

npm i node-rest-client  save

我相信你有一个初学者的nodejs项目,其中包含包.json. 你知道吗

var Client = require('node-rest-client').Client;

var client = new Client();

var args = {
    data: {
        'from': 'ACC',
        'to': 'P_REFSEQ_AC',
        'format': 'json',
        'query': 'P13368 P20806 Q9UM73 P97793 Q17192'
    },
    headers: {
        "Content-Type": "application/json"//use the header that you need
    }
};

client.post("http://www.uniprot.org/uploadlists/", args, function(data, response) {
    // parsed response body as js object 
    console.log(data);
    // raw response 
    console.log(response);
});

相关问题 更多 >