65.9K
CodeProject 正在变化。 阅读更多。
Home

AmHttpUtilities

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.61/5 (24投票s)

2001 年 9 月 4 日

1分钟阅读

viewsIcon

266613

downloadIcon

3078

一个处理 HTTP POST、GET 和 HEAD 操作的小类。

引言

我创建这个类是因为我需要向 ASP 页面发布一些数据。其中包含获取网页、向网页发布数据以及获取标头和服务器状态代码的函数。该类也支持 Unicode。我使用 WinInet 编写了这个类,因此您需要链接到 wininet.lib

只需创建一个类的实例,例如

CAmHttpSocket http;

函数 GetPage() 接收一个网页,或向其发布数据。

char* GetPage(const TCHAR *url, bool Post = false, 
    const char *PostData = NULL, int PostDataLength = -1);

要简单地接收一个页面,只需编写

char *s = http.GetPage(_T("http://somewebpage/");

Post 指示您是想执行 HTTP POST 还是 GET。PostData 是您想要发布到网页的数据。此参数是一个 char*,因为您无法发布 Unicode 字符串。如果 PostDataNULL 结尾,则只需将 PostDataLength 保持不变,否则 PostDataLengthPostData 缓冲区长度。

如果您想发布一些数据,即一个以 NULL 结尾的字符串,只需编写

char *s = http.GetPage(_T("http://somewebpage/", true, "Some Data To Post");

如果您只想获取网页的标头,可以使用 TCHAR* GetHeaders() 来接收它们。

TCHAR *ts = http.GetHeaders(_T("http://somewebpage/");

如果您想在接收网页或向其发布数据后获取 HTTP 状态代码,只需调用 GetPageStatusCode(),例如

int i = http.GetPageStatusCode();

现在 i 包含状态代码,例如,如果页面不存在,则为“404”。

好了,这就是全部内容,希望对您有所帮助。

© . All rights reserved.