簡體   English   中英

從Node.js到Django的HTTP請求

[英]http request from nodejs to django

我們有一個django應用,我需要使用NodeJS添加一些功能。 我一直在關注以下示例: http : //www.maxburstein.com/blog/realtime-django-using-nodejs-and-socketio/使用socket.io,它在localhost上運行良好。 現在,將應用程序移動到apache服務器時出現了問題。 我需要向django發送POST請求,而我得到的只是超時響應。

通過apache的django應用正在偵聽端口80,而節點正在偵聽端口4000。http請求的配置如下:

var options = {
        hostname: 'hostaddress',
        port: '80',
        path: '/dashboards/datosinforme/',
        method: 'POST',
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded',
            'Content-Length': values.length
        }
    };
    var req = http.request(options, function(res){
        res.setEncoding('utf8');
        var data_obj = "";
        res.on('data',function(data){
            data_obj+=data;
        });
        res.on('end', function(){
            ...some functionality...
        });
    });
    req.write(values);
    req.end();

我已經嘗試過本地和公共IP。 使用公共IP的django沒有響應,使用本地IP的Bad Request卻沒有響應。

如果有人可以幫助,我將永遠感激不已。 提前致謝。

編輯:好的,我現在嘗試使用127.0.0.1作為主機名(因為node和django都在同一台機器上),我得到一個Bad Request響應,但是我沒有真正看到任何錯誤:

POST /dashboards/datosinforme HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 174
Host: 127.0.0.1:80
Connection: keep-alive

id=5&tipo_de_fecha=d&time_zone=Europe%2FBerlin

好,我知道了。 我只需要在settings.py的ALLOWED_HOSTS參數中包含127.0.0.1,而django不會再發出任何錯誤請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM