CHttpConnection::OpenRequest

调用此成员函数打开 HTTP 连接。

CHttpFile* OpenRequest(
   LPCTSTR pstrVerb,
   LPCTSTR pstrObjectName,
   LPCTSTR pstrReferer = NULL,
   DWORD_PTR dwContext = 1,
   LPCTSTR* ppstrAcceptTypes = NULL,
   LPCTSTR pstrVersion = NULL,
   DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT 
);
CHttpFile* OpenRequest(
   int nVerb,
  LPCTSTR pstrObjectName,
   LPCTSTR pstrReferer = NULL,
   DWORD_PTR dwContext = 1,
   LPCTSTR* ppstrAcceptTypes = NULL,
   LPCTSTR pstrVersion = NULL,
   DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT 
);

参数

  • pstrVerb
    指向包含在请求中使用的谓词的字符串的指针。 如果 NULL使用“GET”。

  • pstrObjectName
    一个指向一个字符串包含指定目标对象的动词 这通常是文件名、可执行模块或搜索说明符。

  • pstrReferer
    一个指向字符串的指针,它指定文档的地址(URL),从该地址可以获得请求(pstrObjectName)中的URL 如果为 NULL,则表示无HTTP标头。

  • dwContext
    OpenRequest 操作的上下文标识符。 有关dwContext的更多信息,请参见备注部分。

  • ppstrAcceptTypes
    指向一个以null结尾的LPCTSTR指针数组的指针指向被客户接受的内容类型字符串 如果ppstrAcceptTypes 是 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

返回值

一个指向CHttpFile 对象请求的指针。

备注

dwFlags可以是如下内容之一:

Internet 标志

描述

INTERNET_FLAG_RELOAD

强制列表从原始服务器,而不是从缓存的请求的文件、对象或内容的下载。

INTERNET_FLAG_DONT_CACHE

不将返回的实体加入缓存。

INTERNET_FLAG_MAKE_PERSISTENT

添加将返回的实体缓存为持久性实体。 这意味着清理标准缓存,检查的一致性或垃圾回收无法从缓存中移除此项目。

INTERNET_FLAG_SECURE

使用获取事务语义。 这转换为使用 SSL/PCT 并且仅在 HTTP 请求有意义

INTERNET_FLAG_NO_AUTO_REDIRECT

只使用HTTP使用时,指定不应该在CHttpFile::SendRequest自动处理 的重定向

覆盖dwContext 默认设置上下文标识符为您选择的值。 上下文标识符与CHttpConnection 对象的特定操作符有关,由它的CInternetSession对象创建 值返回到CInternetSession::OnStatusCallback以提供的操作状态识别 有关上下文标识符的更多信息,请参阅文章Internet First Steps: WinInet

这个函数可能抛出异常

要求

标头: afxinet.h

请参见

参考

CHttpConnection Class

层次结构图

CHttpFile Class

CInternetSession Class

CFtpConnection Class

CGopherConnection Class

CInternetConnection Class