簡體   English   中英

如何將Android http發布到Node.js

[英]How to Android http post to Node.js

我想從Android向Node.js服務器發送一個簡單的HTTP POST請求。 誰能告訴我我在做什么錯?

Android代碼:

    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://54.68.139.250/bscreateuser");

    try {
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("username", "hellomoto"));
        nameValuePairs.add(new BasicNameValuePair("password", "pswd"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

Node.js代碼:

 app.get('/bscreateuser', function(request, response) { process.stdout.write("Attempted to create a user."); bscreateUser(request.query.username, request.query.password); response.send('-- BS -- User Created! username: ' + request.query.username + ' password: ' + request.query.password); }); function bscreateUser(username, password) { messageBody = 'create_user("' + username + '","' + password + '")'; queueUrl = DAO_QUEUE_URL; // sys.puts("--- going for BS ---"); sendSQSMessage(JSON.stringify(messageBody), queueUrl); } 

node.js代碼中,您正在使用

app.get('/bscreateuser', ...

相反,您需要使用post方法

app.post('/bscreateuser', ...

並訪問所需的變量,如下所示:

request.body.varname

您進行GET路由,如果要發布數據,則必須將其發布

節點代碼

app.post(..

和參數可能會得到

request.body.username or request.body.password

暫無
暫無

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

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