golang으로 작성된 tcp 연결을 사용하여 콘솔에서 컬 요청을 보냅니다. 기본적으로 데이터 흐름입니다. 다음 코드를 사용하면 데이터를 성공적으로 수신하고 버퍼에 저장할 수 있습니다.
으아아아하지만 다음 코드를 사용하여 이 데이터를 읽으려고 하면:
으아아아다음과 같은 오류가 발생합니다
으아아아데이터 자체를 인쇄해 보니 이런게 보이더군요
으아아아위에서 문제가 어디에 있는지 명확하게 알 수 있습니다. 데이터에 헤더를 추가하므로 POST
中的 P
이 golang이 불평하는 것입니다. 그렇기 때문에 비정렬화할 수 없습니다. 그래서 내 질문은 이렇습니다.
데이터를 서버로 보내거나 데이터가 도착하면 다듬는 방법은 json 부분뿐입니다.
P.S - http
대신 데이터를 가져오기 위해 TCP 연결을 사용하고 있습니다.온라인에서 다양한 솔루션을 찾았지만 내 사용 사례에 맞는 솔루션을 찾지 못했습니다.
cURL은 TCP 클라이언트가 아닙니다. 이는 HTTP 클라이언트이며 프로토콜 고유의 일부 헤더(예: 요청 방법 및 경로)를 자연스럽게 생성합니다. 이는 궁극적으로 TCP 연결을 통해 전송되는 것입니다. 따라서 서버가 기대하는 것(일반 TCP)과 클라이언트가 보내는 것(HTTP)이 일치하지 않습니다.
원시 데이터를 http .ReadRequest와 같은 HTTP 요청으로 구문 분석하도록 서버 코드를 업데이트하거나 단순히 네트워크(예: 순수 TCP)를 통해 예상 페이로드를 전송하는 클라이언트를 사용해야 합니다. Netcat을 사용하면 이 작업이 쉬워집니다. 해결하려는 문제에 대해 많이 알지 못한 채 기본적으로 후자의 접근 방식을 권장합니다(처음에 TCP가 필요할 때 HTTP를 보내는 이유는 무엇입니까?).
위 내용은 연결 golang에서 json 데이터를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!