문제 : 우리는 성공적으로 메시지를 게시 할 서버 있지만없는 와 통신 할 수 있습니다소켓 프로그램 - C (리눅스)
. 서버가 "Your browser sent a request that this server could not understand"
으로 응답했기 때문입니다. 이것은 아래 문자열의 형식이 잘못되었을 때 발생했습니다.
샘플 코드 :
"POST /evs/getServerAddress?uid=abcd&pwd=abcd HTTP/1.1\r\n";
"Host: https://evs.idrive.com\r\n";
"Connection: Close\r\n\r\n";
//#include<sys/socket.h>
//sockfd is socket
//above three strings are passed as option_value1, option_value2 and option value3
send(sockfd, option_value1, sizeof(option_value1), 1);
send(sockfd, option_value2, sizeof(option_value2), 1);
send(sockfd, option_value3, sizeof(option_value3), 1);
문제 : 이제 서버가 아무것도에 응답하지 않습니다. 친절하게도 서버에서 응답을 얻기위한 여러 가지 방법을 알려주십시오. 라인
send(sockfd, option_value1, sizeof(option_value1), 1);
sizeof(option_value1)
에서 미리
확인 서버 로그를 - 서비스가 계속 실행 : 적절한 POST 요청은 같을 것이다? – suspectus
'sizeof()'대신에'strlen()'을 사용하고'Host' 헤더를 수정하면 값이 잘못되었습니다. –