0

我正在开发一个简单的不和谐机器人。node.js 是从免费的 Heroku dyno 运行的,我在另一台服务器上有一些 php 服务器代码(数据库内容)。node.js 代码处理不和谐消息,然后将 http 请求发送到其他服务器。这已经工作了几个月,直到最近 HTTP POST 获得了 307 状态代码。当我从 Postman 或 Fiddle 发出命令时,没有问题。但是,从测功机发送的第一个 POST 请求总是返回 307。所有后续请求都可以正常工作。响应标头位置与删除主机后的位置相同。因此,发送 POST 请求http://host.com/example/example.php将返回一个 307,其标头位置为/example/example.php. 同样,仅在启动测功机后的第一次尝试时。

截断的 node.js 代码

var request = require('request');

var options = {
          'method': 'POST',
          'url': 'http://......',
          'headers': {
          },
          formData: {
            'initiateDraft': 'true',
            'pwd': .....,
            'entries': usernames.toString(),
            'entriesUIDs': uids.toString()
          }
        };
        request(options, function (error, response) {
          if (error) throw new Error(error);
            try{
                console.error('error:', error); // Print the error if one occurred
                  console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
                  console.log('body:', response.body); // Print body

更新,我能够在使用 Postman 的 400 次尝试中重现该问题。所以问题出在服务器端,但是我看不到原因。我正在使用 godaddy 共享主机,没有会导致重定向的 .htaccess 文件。真的很苦恼为什么它在 Postman 上如此断断续续,但始终在 Heroku 的第一个 POST 请求上重定向。

4

0 回答 0