이 http 요청에서 빈 응답을받는 이유

ddd

나는 단순히 http 요청을 https://www.swapi.co/api/people/?search=Luke+만들고 응답 데이터를 구문 분석하는 첫 번째 node.js 스크립트에서 작업하고 있습니다.

끝점은 다음과 같습니다.

var options = {
  host: 'www.swapi.co',
  path: `/api/people/?search=`+firstName+'+'+lastName
};

논리는 응답에서 데이터를 가져 와서 person객체로 구문 분석하는 것입니다.

makeRequest(options, function( data, error) {
    let person = data.results[0];
    if (person) {
        let height = person.height;
        let response = person.name + " is " + height + " centimeters tall.";
        callback(null, {"speech": response});
    }
    else {
        callback(null, {"speech": "I'm not sure!"});
    }
  });

makerequest기능 의 정의 는 다음과 같습니다.

function makeRequest(options, callback) {
    var request = http.request(options, 
    function(response) {
        var responseString = '';
        response.on('data', function(data) {
            responseString += data;
        });
         response.on('end', function() {
            console.log('end: $$$' + responseString + '$$$');
            var responseJSON = JSON.parse(responseString);
            callback(responseJSON, null);
        });
    });
    request.end();
}

스크립트를 실행할 때 JSON 구문 분석에 대한 오류가 발생했습니다.

Unexpected end of JSON input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (/var/task/index.js:42:37)
    at emitNone (events.js:91:20)
    at IncomingMessage.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickDomainCallback (internal/process/next_tick.js:128:9)

Postman을 사용하여 엔드 포인트를 테스트하고 응답으로 다음 JSON을 얻었습니다.

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "name": "Luke Skywalker",
            "height": "172",
            "mass": "77",
            "hair_color": "blond",
            "skin_color": "fair",
            "eye_color": "blue",
            "birth_year": "19BBY",
            "gender": "male",
            "homeworld": "https://www.swapi.co/api/planets/1/",
            "films": [
                "https://www.swapi.co/api/films/2/",
                "https://www.swapi.co/api/films/6/",
                "https://www.swapi.co/api/films/3/",
                "https://www.swapi.co/api/films/1/",
                "https://www.swapi.co/api/films/7/"
            ],
            "species": [
                "https://www.swapi.co/api/species/1/"
            ],
            "vehicles": [
                "https://www.swapi.co/api/vehicles/14/",
                "https://www.swapi.co/api/vehicles/30/"
            ],
            "starships": [
                "https://www.swapi.co/api/starships/12/",
                "https://www.swapi.co/api/starships/22/"
            ],
            "created": "2014-12-09T13:50:51.644000Z",
            "edited": "2014-12-20T21:17:56.891000Z",
            "url": "https://www.swapi.co/api/people/1/"
        }
    ]
}

그러나 코드를 디버깅 할 때 응답 데이터는 빈 문자열입니다. 그리고 그것은 JSON 오류를 설명합니다.

내 http 요청에 어떤 문제가 있습니까? 올바른 응답을받지 못하는 이유는 무엇입니까?

마이크 힐

대상 API는 SSL 만 지원하지만 Node의 HTTP 라이브러리는 일반 텍스트 요청 만 지원합니다. 대신 HTTPS 라이브러리를 사용해보십시오 .

var https = require('https');
var request = https.request(options, ...);

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Angular JS의 HTTP Get 요청이 빈 응답을받습니다.

분류에서Dev

HTTP 응답 유형이 201 CREATED 인 경우 빈 응답을 반환하는 QNetworkReply

분류에서Dev

axios로 만든 POST http 요청에서 서버가 빈 request.body를 얻는 이유는 무엇입니까?

분류에서Dev

Ruby : 영구 HTTP 클라이언트가 두 번째 요청에서 응답을받지 못함

분류에서Dev

HTTP 1.1로 YouTube에서 응답 헤더를받을 수없는 이유는 무엇입니까?

분류에서Dev

curl 및 http 요청이 다른 응답을 생성하는 이유

분류에서Dev

git-remote-http.exe가 200을 받기 전에 두 개의 401 응답을받는 것이 정상입니까?

분류에서Dev

빈 응답을 반환하는 expressjs 서버 http 요청

분류에서Dev

Spring Integration DSL을 사용하여 rabbitMQ 응답 큐에서 응답이 올 때 HTTP 요청 / 응답을 구현하는 방법은 무엇입니까?

분류에서Dev

HTTP 서버에 TCP 요청을 보냈지 만 응답이 없습니다.

분류에서Dev

HTTP 응답에서 GET과 POST의 차이점 (요청 아님)

분류에서Dev

Flutter의 HTTP POST 요청에서받은이 JSON 응답에 어떻게 액세스 할 수 있습니까?

분류에서Dev

Tomcat이 HTTP 1.1을 HTTP 1.0 요청으로 응답하는 이유는 무엇입니까?

분류에서Dev

Python에서 응답을받을 수없는 이유는 무엇입니까?

분류에서Dev

모든 나머지 요청이 백본 js에서 응답을 받았는지 확인하십시오.

분류에서Dev

Facebook Ads API에 대한 POST 요청이있는 빈 응답 본문

분류에서Dev

첫 번째 요청의 응답을 받기 전에 두 번째 HTTP 요청이 이루어지면 어떻게됩니까?

분류에서Dev

Ajax 요청이있는 빈 응답 본문

분류에서Dev

다른 http 요청 성공 응답 내부의 http 요청이 jquery에서 작동하지 않습니다.

분류에서Dev

내 XHR 호출이 서로 응답을 받기를 기다리는 이유

분류에서Dev

netcat을 사용한 HTTP 요청에 대한 빈 응답

분류에서Dev

Paypal IPN 프로토콜 : 예제에서 빈 HTTP 200 응답이 전송되지 않는 이유는 무엇입니까?

분류에서Dev

JSON 응답이있는 PHP Http Post 요청 : 유효한 JSON이 없습니다.

분류에서Dev

Android에서 http 요청을 할 수없는 이유는 무엇입니까?

분류에서Dev

파이썬에서 요청을 사용하여 다운로드 할 때 빈 PDF가 나타나는 이유

분류에서Dev

SSL을 통해 http 요청에 디지털 서명해야하는 이유

분류에서Dev

Angular-둘 이상의 요청에서 응답 받기

분류에서Dev

요청이 실패 할 때 AlamoFire에서 JSON 응답 받기

분류에서Dev

Dialogflow에서 지정한 RAW API RESPONSE로 응답을받지 못하는 이유는 무엇인가요?

Related 관련 기사

  1. 1

    Angular JS의 HTTP Get 요청이 빈 응답을받습니다.

  2. 2

    HTTP 응답 유형이 201 CREATED 인 경우 빈 응답을 반환하는 QNetworkReply

  3. 3

    axios로 만든 POST http 요청에서 서버가 빈 request.body를 얻는 이유는 무엇입니까?

  4. 4

    Ruby : 영구 HTTP 클라이언트가 두 번째 요청에서 응답을받지 못함

  5. 5

    HTTP 1.1로 YouTube에서 응답 헤더를받을 수없는 이유는 무엇입니까?

  6. 6

    curl 및 http 요청이 다른 응답을 생성하는 이유

  7. 7

    git-remote-http.exe가 200을 받기 전에 두 개의 401 응답을받는 것이 정상입니까?

  8. 8

    빈 응답을 반환하는 expressjs 서버 http 요청

  9. 9

    Spring Integration DSL을 사용하여 rabbitMQ 응답 큐에서 응답이 올 때 HTTP 요청 / 응답을 구현하는 방법은 무엇입니까?

  10. 10

    HTTP 서버에 TCP 요청을 보냈지 만 응답이 없습니다.

  11. 11

    HTTP 응답에서 GET과 POST의 차이점 (요청 아님)

  12. 12

    Flutter의 HTTP POST 요청에서받은이 JSON 응답에 어떻게 액세스 할 수 있습니까?

  13. 13

    Tomcat이 HTTP 1.1을 HTTP 1.0 요청으로 응답하는 이유는 무엇입니까?

  14. 14

    Python에서 응답을받을 수없는 이유는 무엇입니까?

  15. 15

    모든 나머지 요청이 백본 js에서 응답을 받았는지 확인하십시오.

  16. 16

    Facebook Ads API에 대한 POST 요청이있는 빈 응답 본문

  17. 17

    첫 번째 요청의 응답을 받기 전에 두 번째 HTTP 요청이 이루어지면 어떻게됩니까?

  18. 18

    Ajax 요청이있는 빈 응답 본문

  19. 19

    다른 http 요청 성공 응답 내부의 http 요청이 jquery에서 작동하지 않습니다.

  20. 20

    내 XHR 호출이 서로 응답을 받기를 기다리는 이유

  21. 21

    netcat을 사용한 HTTP 요청에 대한 빈 응답

  22. 22

    Paypal IPN 프로토콜 : 예제에서 빈 HTTP 200 응답이 전송되지 않는 이유는 무엇입니까?

  23. 23

    JSON 응답이있는 PHP Http Post 요청 : 유효한 JSON이 없습니다.

  24. 24

    Android에서 http 요청을 할 수없는 이유는 무엇입니까?

  25. 25

    파이썬에서 요청을 사용하여 다운로드 할 때 빈 PDF가 나타나는 이유

  26. 26

    SSL을 통해 http 요청에 디지털 서명해야하는 이유

  27. 27

    Angular-둘 이상의 요청에서 응답 받기

  28. 28

    요청이 실패 할 때 AlamoFire에서 JSON 응답 받기

  29. 29

    Dialogflow에서 지정한 RAW API RESPONSE로 응답을받지 못하는 이유는 무엇인가요?

뜨겁다태그

보관