http Post方法有关问题,

http Post方法问题,急! 目前需要用到这个东西,但是以前从来没接触过,开始看。下面是我从网上找到的资料,对

http Post方法问题,急!

目前需要用到这个东西,但是以前从来没接触过,开始看。

下面是我从网上找到的资料,对这个东西有一点不明把。
1.那个hdrs[]就应该是url吧,我不明白这个url什么用呢?因为我把我的数据发过去就行了,只关心数据即可,为什么要加一个url呢?url具体是用来干什么的呢?
2.这个例子中发送的是字符串数据,如果我要发送别的数据呢?比如结构体
struct   tagmystruct
{
      string   str;
      int   a;
      double   b;
      ......
};

这应该如何做呢?谢谢!

/////////////////////////////////////////////////////////////////////

    Without   MFC,   the   same   code   translates   to   straight   SDK   calls   as   follows:

   
   

static  
TCHAR   hdrs[]   =

            _T( "Content-Type:   application/x-www-form-urlencoded ");

       
static  
TCHAR   frmdata[]   =

            _T( "name=John   Doe&userid=hithere&other=P&Q ");

        statuc   TCHAR   accept[]   =

            _T( "Accept:   */* ");

   

       
//   for   clarity,   error-checking   has   been   removed


        HINTERNET   hSession   =   InternetOpen( "MyAgent ",

            INTERNET_OPEN_TYPE_PRECONFIG,   NULL,   NULL,   0);

        HINTERNET   hConnect   =   InternetConnect(hSession,   _T( "ServerNameHere "),

            INTERNET_DEFAULT_HTTP_PORT,   NULL,   NULL,   INTERNET_SERVICE_HTTP,   0,   1);

        HINTERNET   hRequest   =   HttpOpenRequest(hConnect,   "POST ",

            _T( "FormActionHere "),   NULL,   NULL,   accept,   0,   1);

        HttpSendRequest(hRequest,   hdrs,   strlen(hdrs),   frmdata,   strlen(frmdata));

        //   close   any   valid   internet-handles

[解决办法]
HTTP 协议传送的数据都由一个头(header)和数据(data)组成,以一个空行分割。头里有很多信息,不过有些是可选的,但 URL 部分是必须在第一行的,它告诉远端的 web 服务器你要访问的资源,这个资源就用 URL 标识,URL 就是统一资源定位器的缩写,有些地方用 URI(统一资源标识),其实差不多。你发送请求的时候同样要写一个头部,里面至少要有你请求的资源及请求的方式、主机信息。详细的信息建议你查一下 HTTP 1.1 的 RFC。