2016-07-10 3 views
0

완벽하게 작동하는 말꼬리 명령이 있습니다. curl --request POST - 사용자 [email protected] : 비밀번호 http://localhost:8080/api/uploadmydata -d 'param1 = 300 'Android Volley 발리를 사용하여 POST 요청의 다른 매개 변수와 함께 사용자 이름과 비밀번호를 보내는 방법

그러나 나는 발리와 같은 일을 할 수 없습니다. 내 현재 코드는 다음과 같습니다

공공 정적 무효 tryUploading (최종 활동 활동) {

StringRequest stringRequest = new StringRequest(Request.Method.POST, BackendConnection.uploadDataUrl, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 

       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        //textPrompt.setText("Wrong User name or Password"); 
       } 
      }){ 
     @Override 
     public Map<String, String> getHeaders() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put(
        "Authorization", 
        String.format("Basic %s", Base64.encodeToString(
          String.format("%s:%s", "[email protected]", "password").getBytes(), Base64.DEFAULT))); 
      params.put("param1", 300); 

      return params; 
     } 
    }; 

    RequestQueue requestQueue = Volley.newRequestQueue(activity); 
    requestQueue.add(stringRequest); 
} 

내가 서버로 스프링 부팅을 사용하고 있습니다. 위의 서버 코드는 사용자 이름과 비밀번호를 확인하지만 나중에 의도 한 URL에 도달하지 못합니다. curl --user 및 -d와 같이 발리 요청에 사용자 credentails와 매개 변수를 추가하는 방법은 무엇입니까?

+0

여기를보세요 @stackoverflow.com/questions/37908320/failed-to-send-parameter-to-php-post-parameter-android/37909623#37909623 –

+0

@SohailZahid 링크에서 getHeaders를 재정의하지 않습니다.() 사용자 이름과 암호를 보내지 않습니다. 나는 매개 변수를 보내는 방법을 안다. 하지만 자격 증명으로 보내는 방법은 제가 찾고있는 것입니다. – Prasad

+0

왜'getHeaders'를 재정 의하여 보안 암호화 된 파일의 params로 보낼 수 있습니까? –

답변

0

앱에서 사용 된 URL을 볼 수 없기 때문에 CURL과 동일한 URL을 사용하면됩니다.

또한 서버가 실행중인 컴퓨터에서 CURL을 실행하면 로컬 호스트가 동일한 장치를 참조하므로 앱의 IP 주소를 적절히 변경해야합니다.

서버가 스마트 폰에서 실행되지 않는 경우 로컬 호스트가 아니라 컴퓨터 IP 주소를 사용해야합니다.

+0

BackendConnection.uploadDataUrl은 서버의 URL을 가지고 있습니다. – Prasad

+0

@Prasad 저는 그것을 알고 있습니다. 나는 그저 서버가 실제로 전화에서 실행되지 않는 한별로 도움이되지 않는 "localhost"를 사용할 수도 있다고 생각했다. – Endzeit

관련 문제