HTTP的OpenRequest方法

  • Post author:
  • Post category:其他


CHttpConnection::OpenRequest

CHttpFile* OpenRequest( LPCTSTR pstrVerb,

LPCTSTR pstrObjectname,

LPCTSTR pstrReferer = NULL,

DWORD dwContext = 1,

LPCTSTR* pstrAcceptTypes = NULL,

LPCTSTR pstrVersion = NULL,

DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT

);

CHttpFile* OpenRequest( int nVerb,

LPCTSTR pstrObjectName,

LPCTSTR pstrReferer = NULL,

DWORD dwContext = 1,

LPCTSTR* pstrAcceptTypes = NULL,

LPCTSTR pstrVersion = NULL,

DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT

);

返回值:

一个指向所需的CHttpFile对象的指针。

参数:

pstrVerb 一个指向某个包含在请求中要用的动词的字符串指针。如果为NULL,则使用“GET”。
pstrObjectName 一个指向某个包含特殊动词的目标对象的字符串的指针。通常为文件名称、可执行模块或者查找标识符。
pstrReferer 一个指向指定了包含着所需的URL (pstrObjectName)的文档地址(URL)的指针。如果为NULL,则不指定HTTP头。
dwContext OpenRequest操作的上下文标识符。请参阅说明部分,以了解更多的关于dwContext的信息。
pstrAcceptTypes 一个指向某空终止符的字符串的指针,该字符串表示客户接受的内容类型。如果该字符串为NULL,服务器认为客户接受“text/*”类型的文档 (也就是说,只有纯文本文档,并且不是图片或其它二进制文件)。内容类型与CGI变量CONTENT_TYPE相同,该变量确定了要查询的含有相关信息的数据的类型,如HTTP POST和PUT。
pstrVersion 一个指向定义HTTP版本的字符串的指针。如果为NULL,则使用“HTTP/1.0”。dwFlags任意INTERNET_FLAG_*标记的组合。请参阅说明部分,以了解可能的dwFlags值的细节。
nVerb 与HTTP请求类型有关的数字。可能为以下值之一:


HTTP请求类型

nVerb值
HTTP_VERB_POST
0

HTTP_VERB_GET
1
HTTP_VERB_HEAD
2
HTTP_VERB_PUT
3
HTTP_VERB_LINK
4
HTTP_VERB_DELETE
5
HTTP_VERB_UNLINK
6

说明:

调用该成员函数,用以打开一个HTTP连接。

dwFlags可能为以下值之一:


Internet标记

描述
INTERNET_FLAG_RELOAD 强行从资源服务器下载所需的文件、对象或路径列表,而不是从缓存中
INTERNET_FLAG_DON’T_CACHE 不向缓存添加返回的实体
INTERNET_FLAG_MAKE_PERSISTENT 将返回实体作为永久性实体添加到缓存中,这表示标准缓存清空,相容性检查或
INTERNET_FLAG_SECURE 者垃圾回收都不能从缓存中移出该项使用安全事务语义。使用SSL/PCT的说明只在HTTP请求中才有意义
INTERNET_FLAG_NO_AUTO_REDIRECT 只与HTTP一起使用,表示改变路径不能在CHttpFile::SendRequest中被自动处理

覆盖dwContext 缺省值,为你所选的值设置一个上下文标识符。上下文标识符与用CInternetSession对象创建的CHttpConnection对象的指定的操作相关联。

该值被返回到CInternetSession::OnStatusCallback中,用以提供其所确定的操作状态。请参阅“Internet初步:WinInet”,以了解有关上下文标识符的更多信息。

请参阅:


CHttpFile

,

CInternetSession

,

CFtpConnection

,

CGopherConnection

,

CInternetConnection