Android에서 OkHttp3를 사용하여 서버 Express js에 JSON을 게시 할 수 없습니다.

후안

데이터를 사용하여 새 사용자를 DB에 등록하여 json을 우편으로 보내는 몇 가지 테스트를 수행하고 있습니다. 서버는 테스트를 위해 정적 문자열을 반환합니다. 콘솔과 CURL을 사용하여 적절한 응답을 받고 있습니다.

curl --data ''  http://127.0.0.1:3000/api/user/register

 <!DOCTYPE html><html><head><title>Express</title><link rel="stylesheet" href="/stylesheets/style.css"></head><body><h1>Express</h1><p>Welcome to Express</p></body></html>

POSTMAN 확장이 동일한 URL에 게시 요청을 보내는 경우에도 적절한 응답을 받고 있습니다. 그러나 아래 코드는 서버에서 응답을받지 않습니다. 무엇이 빠졌습니까?. 오류가 발생하지 않고 일반 문자열 인 디버거를 확인한 후 json이 정확합니다 (중요하지 않지만 누구나 알고 싶어하는 경우). 디버거가이 줄에서 실패합니다.

Response response = client.newCall(request).execute();



private void createUser(String name, String email, String password){

        //create JSON

         final String userJson = formatUserAsJSON(name,email,password);

        //send JSON

        new AsyncTask<Void,Void,String>(){

            @Override
            protected String doInBackground(Void... voids) {

                try {
                  //1.create client Object
                OkHttpClient client = new OkHttpClient();
                 //2.Define request being sent to server
                RequestBody postData=new FormBody.Builder()
                        .add("json",userJson)
                        .build();

                Request request=new Request.Builder()
                        .url("http://127.0.0.1:3000/api/user/register")
                        .post(postData)
                        .build();

                //3.Transport the request and wait for response to process next

                    Response response = client.newCall(request).execute();
                    String result = response.body().string();
                    return result;
                } catch (Exception e) {
                    Log.d("error_connection","couldn't connect to the API");
                    return null;
                }


            }

       }.execute();



    }

이 문제에 대한 의견을 보내 주시면 감사하겠습니다. 감사합니다

편집 : 서버가 응답을 제공하지 않아 안드로이드 앱이 도달하지 못했습니다. 우분투 콘솔에 표시되고 nodejs가 요청 메시지를 인쇄하지 않습니다 .....

편집 2 : Android 매니페스트에서 네트워크에 액세스 할 수있는 사용자 권한이 있으므로 그렇지 않습니다 .....

<uses-permission android:name="android.permission.INTERNET" />
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
후안

나는 127.0.0.1이 Genymotion 에뮬레이터 자체를 참조하고 있었기 때문에 서버의 네트워크 IP를 넣는 문제를 해결했습니다 (공용 인터넷 IP를 넣으면 작동합니다. 시도했습니다). 하지만 그게 답이었습니다. 지원 해주신 모든 분들께 감사드립니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

nodejs 서버에서 우편 배달부를 사용하여 json 데이터를 게시 할 수 없습니다.

분류에서Dev

json_decode를 사용하여 ajax 게시물에서 json을 인쇄 할 수 없습니다.

분류에서Dev

Express에서 서버에 게시 할 수 없습니다.

분류에서Dev

kotlin js에서 ktor 클라이언트를 사용하여 요청을 게시 할 수 없습니다.

분류에서Dev

OKHTTP3를 사용하여 IBM JRE8에서 신뢰 관리자를 추출 할 수 없음

분류에서Dev

노드에서 express.js 서버를 시작할 수 없습니다.

분류에서Dev

Express js에서 선택 옵션 값을 게시 할 수 없습니다.

분류에서Dev

ant를 사용하여 jar에서 main ()을 시작할 수 없습니다.

분류에서Dev

Android Volley는 OkHttp3를 전송으로 사용하는 특정 요청에 대해 캐시를 비활성화 할 수 없습니다.

분류에서Dev

RESTIFY를 사용하여 REST API에서 JSON을 반환 할 수 없습니다.

분류에서Dev

SqliteDatabaseHelper를 사용하여 Android 스튜디오에서 활동을 시작할 수 없습니다.

분류에서Dev

VPN 및 프록시 뒤에서 crashlytics를 사용하여 Android 앱을 빌드 할 수 없습니다.

분류에서Dev

Thread.interrupt를 사용하여 Android에서 진행률 표시 줄을 중지 할 수 없습니다.

분류에서Dev

psycopg를 사용하여 Azure postgres에 연결할 수 없습니다. 시도한 서버 이름을 찾을 수 없습니다.

분류에서Dev

CORS를 사용해도 서버에 게시 할 수 없습니다.

분류에서Dev

서버에서 Json 개체를 표시 할 수 없습니다.

분류에서Dev

Python : subprocess.run을 사용하여 JSON 서버를 시작할 수 없습니다.

분류에서Dev

수업에서 $ this를 사용하여 값을 할당 할 수 없습니다.

분류에서Dev

VBA를 사용하여 한 시트에서 다른 시트로 전체 행을 복사 할 수 없습니다.

분류에서Dev

JS를 사용하여 Facebook 페이지에 게시 할 수 없습니다.

분류에서Dev

'ntpdate'를 사용하여 시간을 동기화 할 수 없습니다. 오류 : "동기화에 적합한 서버가 없습니다."

분류에서Dev

`ntpdate`를 사용하여 시간을 동기화 할 수 없습니다. 오류 : "동기화에 적합한 서버가 없습니다."

분류에서Dev

Android 용 Facebook SDK를 사용하여 Facebook에 게시 할 수 없습니다.

분류에서Dev

게시 프로필을 사용하여 MSBUILD 또는 MSDEPLOY를 서버에 배포 할 수 있습니까?

분류에서Dev

JSON을 사용하여 JQuery Ajax 게시물에서 PHP의 데이터를 가져올 수 없습니다.

분류에서Dev

Typescript를 사용하여 코딩 된 NodeJS 서버에서 JSON 데이터를 반환 할 수 없습니다.

분류에서Dev

PHP를 사용하여 MSSQL 서버에 연결할 때 드라이버를 찾을 수 없습니다.

분류에서Dev

Systemd를 사용하여 Debian에서 네트워킹을 다시 시작할 수 없습니다.

분류에서Dev

asp.net에서 ajax 게시물을 사용하여 코드에 액세스 할 수 없습니다.

Related 관련 기사

  1. 1

    nodejs 서버에서 우편 배달부를 사용하여 json 데이터를 게시 할 수 없습니다.

  2. 2

    json_decode를 사용하여 ajax 게시물에서 json을 인쇄 할 수 없습니다.

  3. 3

    Express에서 서버에 게시 할 수 없습니다.

  4. 4

    kotlin js에서 ktor 클라이언트를 사용하여 요청을 게시 할 수 없습니다.

  5. 5

    OKHTTP3를 사용하여 IBM JRE8에서 신뢰 관리자를 추출 할 수 없음

  6. 6

    노드에서 express.js 서버를 시작할 수 없습니다.

  7. 7

    Express js에서 선택 옵션 값을 게시 할 수 없습니다.

  8. 8

    ant를 사용하여 jar에서 main ()을 시작할 수 없습니다.

  9. 9

    Android Volley는 OkHttp3를 전송으로 사용하는 특정 요청에 대해 캐시를 비활성화 할 수 없습니다.

  10. 10

    RESTIFY를 사용하여 REST API에서 JSON을 반환 할 수 없습니다.

  11. 11

    SqliteDatabaseHelper를 사용하여 Android 스튜디오에서 활동을 시작할 수 없습니다.

  12. 12

    VPN 및 프록시 뒤에서 crashlytics를 사용하여 Android 앱을 빌드 할 수 없습니다.

  13. 13

    Thread.interrupt를 사용하여 Android에서 진행률 표시 줄을 중지 할 수 없습니다.

  14. 14

    psycopg를 사용하여 Azure postgres에 연결할 수 없습니다. 시도한 서버 이름을 찾을 수 없습니다.

  15. 15

    CORS를 사용해도 서버에 게시 할 수 없습니다.

  16. 16

    서버에서 Json 개체를 표시 할 수 없습니다.

  17. 17

    Python : subprocess.run을 사용하여 JSON 서버를 시작할 수 없습니다.

  18. 18

    수업에서 $ this를 사용하여 값을 할당 할 수 없습니다.

  19. 19

    VBA를 사용하여 한 시트에서 다른 시트로 전체 행을 복사 할 수 없습니다.

  20. 20

    JS를 사용하여 Facebook 페이지에 게시 할 수 없습니다.

  21. 21

    'ntpdate'를 사용하여 시간을 동기화 할 수 없습니다. 오류 : "동기화에 적합한 서버가 없습니다."

  22. 22

    `ntpdate`를 사용하여 시간을 동기화 할 수 없습니다. 오류 : "동기화에 적합한 서버가 없습니다."

  23. 23

    Android 용 Facebook SDK를 사용하여 Facebook에 게시 할 수 없습니다.

  24. 24

    게시 프로필을 사용하여 MSBUILD 또는 MSDEPLOY를 서버에 배포 할 수 있습니까?

  25. 25

    JSON을 사용하여 JQuery Ajax 게시물에서 PHP의 데이터를 가져올 수 없습니다.

  26. 26

    Typescript를 사용하여 코딩 된 NodeJS 서버에서 JSON 데이터를 반환 할 수 없습니다.

  27. 27

    PHP를 사용하여 MSSQL 서버에 연결할 때 드라이버를 찾을 수 없습니다.

  28. 28

    Systemd를 사용하여 Debian에서 네트워킹을 다시 시작할 수 없습니다.

  29. 29

    asp.net에서 ajax 게시물을 사용하여 코드에 액세스 할 수 없습니다.

뜨겁다태그

보관