Я использую node.js для отправки HTTP POST на сервер APP. Адрес электронной почты [email protected] в блоке POST отображается как joe% 40gmail.com на стороне сервера APP. Я использовал Content-Type text/plain в следующем коде, но application/x-www-form-urlencoded фактически находится в заголовке запроса POST в соответствии с журналом сервера.Недопустимый заголовок HTTP-сообщения
Мой предыдущий пост имеет ошибку в результатах postman для Chrome. Пожалуйста, проигнорируйте это и извините за путаницу.
Я новичок в этом и, возможно, пропустил что-то очевидное здесь. Любая помощь приветствуется.
Вот код:
var express = require("express");
var app = module.exports = express();
var request = require('request');
var config = require('../config');
app.post('/', function(req, res) {
var username = req.body.name;
var password = req.body.passwd;
var email = req.body.email;
console.log("email=", email);
// connect to APP server
var url = config.appServer;
request({
uri: url,
method: "POST",
timeout: 10000, // 10 sec
headers: {
'Content-Type': 'text/plain'
},
form: {
act: 'create',
username : username,
passwd: password,
email: email
}
}, function (error, response, body) {
// handle return here
Похоже, что он закодирован в url, вы попробовали просто 'decodeURIComponent()' it? – adeneo
Похоже, что это проблема с вашим другим приложением, а не с этим, так как 'console.log' выводит правильную строку. Обновите вопрос с помощью кода обработчика сообщения '/ account' – gfpacheco
Нет, я не пробовал decodeURIComponent(). Я могу использовать Chrome, safari для отправки HTTP GET-запроса с той же строкой. Они все правильно отображаются на стороне сервера APP. Я, вероятно, пропустил что-то в заголовке node.js-запроса, но не знаю, что. – gfc