이 기사의 주요 내용은 PHP 인터페이스 문제에 관한 것입니다. 헤더 인코딩이 본문 메시지 인코딩과 일치하지 않는 경우 컬 요청으로 인해 수신된 메시지가 불완전해집니다.
예를 들어 특정 도킹 프로세스 중에 상대방이 반환한 헤더는 gbk 인코딩(Content-type: text/xml; charset=GBK)이지만 본문의 메시지는 UTF-8 인코딩입니다. , 반환 원인 메시지가 불완전합니다
구체적인 이유는 GBK 인코딩으로 인해 한자 하나가 2바이트를 차지하는 반면, UTF-8 인코딩의 한자 하나는 3바이트를 차지하고, 반환된 문자는 컬 요청 응답 길이는 GBK 인코딩에 따라 계산되므로 메시지의 계산된 문자 길이가 실제 길이보다 작아집니다. 따라서 응답 데이터를 읽을 때 계산된 길이를 읽으면 중지되고 반환됩니다. 메시지가 표시되지 않습니다.
요청을 할 때 컬 메서드를 사용하지 말고 대신 file_get_contents 메서드를 사용하세요. file_get_contents는 헤드 정보를 반환하지 않으므로 코딩 불일치가 발생하지 않습니다.
관련 튜토리얼: PHP 비디오 튜토리얼
위 내용은 PHP 인터페이스--curl 요청으로 인해 수신된 불완전한 메시지에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!