http Post方法问题,急!

uzone 2007-08-01 10:21:05

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

下面是我从网上找到的资料,对这个东西有一点不明把。
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
...全文
189 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nabie 2007-08-01
  • 打赏
  • 举报
回复
HTTP 协议传送的数据都由一个头(header)和数据(data)组成,以一个空行分割。头里有很多信息,不过有些是可选的,但 URL 部分是必须在第一行的,它告诉远端的 web 服务器你要访问的资源,这个资源就用 URL 标识,URL 就是统一资源定位器的缩写,有些地方用 URI(统一资源标识),其实差不多。你发送请求的时候同样要写一个头部,里面至少要有你请求的资源及请求的方式、主机信息。详细的信息建议你查一下 HTTP 1.1 的 RFC。
uzone 2007-08-01
  • 打赏
  • 举报
回复
自己up以下。。。
uzone 2007-08-01
  • 打赏
  • 举报
回复
还有,这些是在客户端的,如果在服务端应该如何接受数据呢?


谢谢!!!
nabie 2007-08-01
  • 打赏
  • 举报
回复
哦,忘了说一句,那个不是真正的 URL,只是要请求的文件在 Web 服务器目录树中的路径。

64,439

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧