UID | title | description | helpviewer_keywords | old-location | tech.root | ms.assetid | ms.date | ms.keywords | req.header | req.include-header | req.target-type | req.target-min-winverclnt | req.target-min-winversvr | req.kmdf-ver | req.umdf-ver | req.ddi-compliance | req.unicode-ansi | req.idl | req.max-support | req.namespace | req.assembly | req.type-library | req.lib | req.dll | req.irql | targetos | req.typenames | req.redist | ms.custom | f1_keywords | dev_langs | topic_type | api_type | api_location | api_name | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NF:winhttp.WinHttpOpenRequest |
WinHttpOpenRequest function (winhttp.h) |
The WinHttpOpenRequest function creates an HTTP request handle. |
|
http\winhttpopenrequest.htm |
http |
9ecd035d-1abf-48ca-baf2-d9754f912c60 |
12/05/2018 |
WINHTTP_FLAG_BYPASS_PROXY_CACHE, WINHTTP_FLAG_ESCAPE_DISABLE, WINHTTP_FLAG_ESCAPE_DISABLE_QUERY, WINHTTP_FLAG_ESCAPE_PERCENT, WINHTTP_FLAG_NULL_CODEPAGE, WINHTTP_FLAG_REFRESH, WINHTTP_FLAG_SECURE, WinHttpOpenRequest, WinHttpOpenRequest function [WinHTTP], http.winhttpopenrequest, winhttp.winhttpopenrequest_function, winhttp/WinHttpOpenRequest |
winhttp.h |
Windows |
Windows XP, Windows 2000 Professional with SP3 [desktop apps only] |
Windows Server 2003, Windows 2000 Server with SP3 [desktop apps only] |
Winhttp.lib |
Winhttp.dll |
Windows |
WinHTTP 5.0 and Internet Explorer 5.01 or later on Windows XP and Windows 2000. |
19H1 |
|
|
|
|
|
|
The WinHttpOpenRequest function creates an HTTP request handle.
HINTERNET connection handle to an HTTP session returned by WinHttpConnect.
Pointer to a string that contains the HTTP verb to use in the request. If this parameter is NULL, the function uses GET as the HTTP verb. Note This string should be all uppercase. Many servers treat HTTP verbs as case-sensitive, and the Internet Engineering Task Force (IETF) Requests for Comments (RFCs) spell these verbs using uppercase characters only.
Pointer to a string that contains the name of the target resource of the specified HTTP verb. This is generally a file name, an executable module, or a search specifier.
Pointer to a string that contains the HTTP version. If this parameter is NULL, the function uses HTTP/1.1.
Pointer to a string that specifies the URL of the document from which the URL in the request pwszObjectName was obtained. If this parameter is set to WINHTTP_NO_REFERER, no referring document is specified.
Pointer to a null-terminated array of string pointers that specifies media types accepted by the client. If this parameter is set to WINHTTP_DEFAULT_ACCEPT_TYPES, no types are accepted by the client. Typically, servers handle a lack of accepted types as indication that the client accepts only documents of type "text/*"; that is, only text documents—no pictures or other binary files. For a list of valid media types, see Media Types defined by IANA at http://www.iana.org/assignments/media-types/.
Unsigned long integer value that contains the Internet flag values. This can be one or more of the following values:
Returns a valid HTTP request handle if successful, or NULL if not. For extended error information, call GetLastError. Among the error codes returned are the following.
Error Code | Description |
---|---|
|
The type of handle supplied is incorrect for this operation. |
|
An internal error has occurred. |
|
The URL is invalid. |
|
The operation was canceled, usually because the handle on which the request was operating was closed before the operation completed. |
|
The URL specified a scheme other than "http:" or "https:". |
|
Not enough memory was available to complete the requested operation. (Windows error code) |
The return value indicates success or failure. To get extended error information, call GetLastError.
The WinHttpOpenRequest function creates a new HTTP request handle and stores the specified parameters in that handle. An HTTP request handle holds a request to send to an HTTP server and contains all RFC822/MIME/HTTP headers to be sent as part of the request.
If pwszVerb is set to "HEAD", the Content-Length header is ignored.
If a status callback function has been installed with WinHttpSetStatusCallback, then a WINHTTP_CALLBACK_STATUS_HANDLE_CREATED notification indicates that WinHttpOpenRequest has created a request handle.
After the calling application finishes using the HINTERNET handle returned by WinHttpOpenRequest, it must be closed using the WinHttpCloseHandle function.
This example shows how to obtain an HINTERNET handle, open an HTTP session, create a request header, and send that header to the server.
BOOL bResults = FALSE;
HINTERNET hSession = NULL,
hConnect = NULL,
hRequest = NULL;
// Use WinHttpOpen to obtain a session handle.
hSession = WinHttpOpen( L"A WinHTTP Example Program/1.0",
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
WINHTTP_NO_PROXY_NAME,
WINHTTP_NO_PROXY_BYPASS, 0);
// Specify an HTTP server.
if (hSession)
hConnect = WinHttpConnect( hSession, L"www.wingtiptoys.com",
INTERNET_DEFAULT_HTTP_PORT, 0);
// Create an HTTP Request handle.
if (hConnect)
hRequest = WinHttpOpenRequest( hConnect, L"PUT",
L"/writetst.txt",
NULL, WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
0);
// Send a Request.
if (hRequest)
bResults = WinHttpSendRequest( hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS,
0, WINHTTP_NO_REQUEST_DATA, 0,
0, 0);
// PLACE ADDITIONAL CODE HERE.
// Report any errors.
if (!bResults)
printf( "Error %d has occurred.\n", GetLastError());
// Close any open handles.
if (hRequest) WinHttpCloseHandle(hRequest);
if (hConnect) WinHttpCloseHandle(hConnect);
if (hSession) WinHttpCloseHandle(hSession);