2017-05-03 55 views
0

在postman中,密碼和用戶名可以正常工作,但每當我從應用程序調用時,都會返回404響應。而且在郵遞員中,它不需要任何標題。使用HttpsURLConnection的post方法來休息api調用返回404作爲響應

我試着改變代碼行的順序,但沒有任何工作。

互聯網的android權限也在體現。

pin = "pin_code = 1111"; 
    uname = "username = bruce"; 
    AsyncTask.execute(new Runnable() { 
     @Override 
     public void run() { 
      HttpsURLConnection connect = null; 
      try { 
       getApi = new URL("https://portal.hal.com/users/api/patient/login/with_username/"); 

       connect = (HttpsURLConnection) getApi.openConnection(); 
       connect.setDoInput (true); 
       connect.setDoOutput(true); 
       connect.setRequestMethod("POST"); 
       connect.connect(); 
       connect.getOutputStream().write(pin.getBytes()); 
       connect.getOutputStream().write(uname.getBytes()); 
       connect.getOutputStream().close(); 

       if (connect.getResponseCode() == 200) { 
        Log.d(TAG,"DONE"); 
       } if (connect.getResponseCode() == 404){ 
        Log.d(TAG,"404 error"); 
       } 
+1

您的網址可能是錯誤的 –

+0

我改變了這裏的網址,因爲如果你使用connect.setRequestMethod(「POST」),不要使用connect.setDoInput其保密,但真實的URL工作在郵遞員 –

+0

細(真) ;這可能會覆蓋POST方法來GET有時。嘗試刪除connect.setDoInput(true);和connect.setDoOutput(true); –

回答

0

發現錯誤。在用戶名和密碼字符串都發送一個字符串。

String parameter = "pin_code=4444&username=user"; 
connect.getOutputStream().write(parameter.getBytes()); 
相關問題