我有如下代码:
var req = require('request');
req.post('someUrl',
{ form: { username: 'user', password: '', opaque: 'someValue', logintype: '1'}, },
function (e, r, body) {
console.log(body);
});
我如何设置标题?我需要用户代理、内容类型,可能还有其他一些东西在标题中:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36',
'Content-Type' : 'application/x-www-form-urlencoded'
};
我尝试了多种方法,但我可以发送标题或表单数据,但未能同时发送这两种数据。
我想这只是因为你忘记了HTTP方法。请求的默认HTTP方法是GET。
你应该添加method:'POST'
,如果你的后端收到了POST方法,你的代码就会工作。
var req = require('request');
req.post({
url: 'someUrl',
form: { username: 'user', password: '', opaque: 'someValue', logintype: '1'},
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36',
'Content-Type' : 'application/x-www-form-urlencoded'
},
method: 'POST'
},
function (e, r, body) {
console.log(body);
});
这应该行得通。
var url = 'http://<your_url_here>';
var headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0',
'Content-Type' : 'application/x-www-form-urlencoded'
};
var form = { username: 'user', password: '', opaque: 'someValue', logintype: '1'};
request.post({ url: url, form: form, headers: headers }, function (e, r, body) {
// your callback body
});
我终于设法做到了。在下面的代码片段中回答:
var querystring = require('querystring');
var request = require('request');
var form = {
username: 'usr',
password: 'pwd',
opaque: 'opaque',
logintype: '1'
};
var formData = querystring.stringify(form);
var contentLength = formData.length;
request({
headers: {
'Content-Length': contentLength,
'Content-Type': 'application/x-www-form-urlencoded'
},
uri: 'http://myUrl',
body: formData,
method: 'POST'
}, function (err, res, body) {
//it works!
});
问题内容: 我有如下代码: 如何为此设置标题?我需要用户代理,内容类型以及标题中可能包含的其他内容: 我已经尝试了多种方式,但是我可以发送标头或表单数据,但均不能发送。 问题答案: 我终于设法做到了。在下面的代码段中回答:
问题内容: 有人可以解释如何使用request.js池哈希吗? 在github上的注释说,这大约池: 池-包含这些请求的代理的哈希对象。如果省略,该请求将使用设置为节点的默认maxSockets的全局池。 pool.maxSockets-包含池中最大套接字数量的整数。 我有用于编写CouchDB实例的代码(请注意问号)。基本上,任何连接到我的Node服务器的用户都将彼此独立地写入数据库: 什么是高
我正在使用谷歌云视觉检测图像上的文本。这种方法在80%的情况下有效。另外20%,我得到了这个错误: 当我在谷歌上搜索这个问题时,似乎我需要发送特定的标题和我的请求来解决这个问题,基本上就像这里指定的:https://cloud.google.com/vision/docs/ocr#specify_the_language_optional 但是,我不知道如何用我正在使用的Node.js代码发送这些
axios请求点击控制器上的url,但将空值设置到POJO类中,当我使用chrome中的开发人员工具时,有效负载包含数据。我做错了什么? Axios POST请求: 浏览器响应: 过帐多部分/表单数据时出错。Content-Type标头缺少边界 谁能解释一下如何设置边界或者我如何使用Axios发送表单数据。
我用请求模块和异步模块的组合并行爬行了很多链接 我注意到很多和错误,尽管使用chrome可以访问链接并快速响应。 在请求选项中,我将限制为2,将限制为10000。我使用限制为2的来减少每次请求的并行性。所以我有2套接字,2个请求和10秒的超时时间来等待来自服务器的头响应,但我得到了这些错误。 在这里s我使用的请求配置: 以下是我用来生成链接的代码片段: 我听了错误事件,我看到每当错误代码为时,co
问题内容: 我有一个资源“角色”,它与“用户”有很多关系。要管理“角色”,我需要将角色ID和用户ID发送到服务器,以便从正确的用户(不一定是已登录的用户)中删除角色。 这是我正在尝试的方法,但是根据文档,这是不可能的。我知道我可以在uri中发送两个id,但是我的laravel后端会自动设置一个资源丰富的resource / {resourceid}路由,我希望在可能的情况下使用它。有没有办法做到这