2013-03-25 2 views
-4

웹 서버와 통신하고있는 응용 프로그램을 작성하려고합니다. 내가 서버를 만든 , 프록시로 설정하고, 나는이 메시지를 얻을 : HTTP-GET/POST를 보내는 응용 프로그램을 만드는 방법은 무엇입니까?

GET http://SOMETHING.SG/ HTTP/1.1 
Host: SOMETHING 
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Cookie: [...SOMETHING...] 
Connection: keep-alive 

1)이 라인은 무엇을

을 말을? (예 : Gecko)

2) 일부 줄이없는 GET 메시지를 만들 수 있습니까?

3) 시간이 지남에 따라 바뀌고 작동하지 않는 것이 있습니까?

4) C++ 빌트인 라이브러리를 만드는 것이 가능합니까?

5-8) HTTP-POST와 같은 질문

감사합니다.

+2

[HTTP] (http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) –

+1

[HTTP 사양] (http://www.w3.org/Protocols/rfc2616/rfc2616)을 읽을 필요가있는 것 같습니다. html). – Quentin

+0

질문에 죄송합니다. 실수로 HTTP-GET 대신 HTML-GET을 검색했습니다.내가 알았다면 대답을 찾았을거야. – radl

답변

2

libcurl입니다. 프로그래밍 방식으로 GET/POST 요청을 수행 할 수있는 HTTP 클라이언트가 포함되어 있습니다.

+0

튜토리얼이 있니? – radl

+1

http://curl.haxx.se/libcurl/c/simple.html –

+0

Visual Studio 2015에서 libcurl 최신 감염을 가져 오는 방법을 알려 주실 수 있습니까? 내 문제를 해결할 수 없다면 – delive

4

그게 http://index.hu/에 대한 HTTP/1.1 GET 요청입니다. 전체 요청을 완전히 이해하려면 the HTTP/1.1 specification (RFC2616)을 읽어야합니다.

그러나 빠르게 요약 :

  • 호스트 - 자원의 호스트가
  • 을 요청하는 사용자 에이전트 - 사용자 에이전트가 리소스에 액세스하는 데 사용되는 설명하는 문자열입니다. 이 사용자 에이전트는 귀하가 Firefox를 사용하고 있다고 제안합니다. Firefox의 레이아웃 엔진은 Gecko입니다.
  • Accept - 요청한 리소스의 기본 MIME 유형을 제공합니다. 이 경우 요청자가 자원을 HTML로 수신하려고합니다.
  • 수락 언어 - 요청한 리소스의 기본 언어를 제공합니다.
  • Accept-Encoding - 요청 된 리소스의 기본 인코딩을 제공합니다.
  • 쿠키 - 쿠키 사용을 위해 RFC2109으로 정의 된 확장 헤더입니다.
  • 연결 - 연결 옵션을 지정합니다. 이 경우 keep-alive은 지속적 연결을 요청합니다.

이러한 헤더가 모두 필요한 것은 아니며 더 많이 사용할 수 있습니다. 모든 헤더에 대한 설명은 사양에 나와 있습니다.

HTTP 요청을 구성하고 보낼 수있는 C++ 라이브러리가 많이 있습니다. 인기있는 것은 libcurl입니다. an official tutorial도 있습니다.

관련 문제