Publié le

c http 예제

METHOD=”GET”을 사용하는 양식의 경우(위의 간단한 예제에서 기본값이므로) CGI 사양은 데이터가 QUERY_STRING이라는 환경 변수의 스크립트 또는 프로그램에 전달됨을 말합니다. 그래서, 당신의 질문에 대답하기 위해 : 당신이 POSTing에 관심이있는 URL이 http://api.somesite.com/apikey=ARG1&command=ARG2 경우 다음 아무 본문이나 쿼리 문자열이 없고, 따라서, 메시지의 본문에 넣을 것이 없기 때문에 POST 할 이유가 없습니다. 콘텐츠 유형: 및 콘텐츠 길이: 요청이 전송된 서버(이 경우 www.example)는 자체 규칙에 따라 처리합니다. 일반적으로 서버의 구성은 상대 URL이 파일 이름에 매핑되는 방법과 CGI 스크립트를 포함하는 것으로 해석되는 디렉터리/폴더를 정의합니다. 당신이 짐작할 수 있듯이, URL의 부분 cgi-bin / 이 경우 이러한 해석을 발생합니다. 즉, HTML 문서 나 다른 파일을 다시 선택하고 다시 보내는 대신 서버가 URL (이 경우 mult.cgi)에 지정된 스크립트 또는 프로그램을 호출하고 일부 데이터 (데이터 m =4&n =9)를 전달합니다. 케이스)를 참조하십시오. http://www.aticleworld.com/2016/04/create-xml-request-in-c-for-server.html URL의 형태를 가지고 http://host:port/path?query_string 실행 가능한 디렉터리를 넣고 서버별 규칙에 따라 이름을 지정해야 합니다. 여기에 필요한 컴파일 명령도 워크스테이션에서 사용했던 것과 다를 수 있습니다. 예를 들어 서버가 유닉스의 일부 풍미를 실행하고 Gnu C 컴파일러를 사용할 수 있는 경우 일반적으로 gcc -o mult.cgi mult.c와 같은 컴파일 명령을 사용한 다음 (mv) mult.cgi를 cgi-bin과 같은 이름의 디렉토리로 이동합니다. gcc 대신 cc를 사용해야 할 수도 있습니다. 이러한 문제에 대한 현지 지침을 확인해야합니다. POST http:// 74.125.28.121:80/applicationform.svc/getdetail HTTP/1.1 이러한 파일은 예제로만 사용됩니다.

단순성과 명확성을 위해 적절한 오류 처리를 포함하지 않을 수 있으며 일부 플랫폼에서 컴파일러 경고를 생성할 수 있습니다. 실제 응용 프로그램은 이러한 문제에 더 많은 주의를 기울여야 합니다. 기본적으로 프로그램은 CONTENT_LENGTH 환경 변수의 값에서 입력된 문자 수에 대한 정보를 검색합니다. 그런 다음 데이터가 이미 언급 된 특별히 인코딩 된 형식으로 도착하기 때문에 데이터를 인코딩 (디코딩)합니다. 이 프로그램은 텍스트 입력 필드에 이름 데이터가 있는 양식에 대해 작성되었습니다(실제로 는 이름의 길이만 여기에 문제가 있음). 예를 들어, 사용자가 Hello를 입력하면 거기! 그런 다음 데이터는 데이터=Hello+there%21로 인코딩된 프로그램에 전달됩니다(+로 인코딩된 공간 및 느낌표가 %21로 인코딩). 프로그램의 encode 해제 루틴은 이를 원래 형식으로 다시 변환합니다. 그런 다음 데이터가 고정 된 파일 이름으로 파일에 추가되고 사용자에게 다시 에코됩니다.