错误 C2664:"HttpOpenRequestW":无法将参数 6 从"LPTSTR [2]"转换为"LPCWSTR

error C2664: 'HttpOpenRequestW' : cannot convert parameter 6 from 'LPTSTR [2]' to 'LPCWSTR

本文关键字:LPTSTR LPCWSTR 转换 参数 HttpOpenRequestW C2664 错误      更新时间:2023-10-16

hi我的代码出现了以下错误,这是对json数据的后请求

错误1错误C2664:"HttpOpenRequestW":无法将参数6从"LPTSTR[2]"转换为"LPCWSTR*"c:\users\gbsindia1\documents\visual studio 2010\projects\program\program1.cpp

#include "stdafx.h"
#include <windows.h>
#include <Wininet.h>
#include <stdio.h>
#include <tchar.h>

int main(int argc, char* argv[])


{
    HINTERNET hInternet = InternetOpen(_T("MyApp"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    HINTERNET hConnect = InternetConnect(hInternet, _T("192.168.1.7"),
        INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
    LPTSTR rgpszAcceptTypes[] = {_T("application/json"), NULL};
    HINTERNET hRequest = HttpOpenRequest(hConnect, _T("POST"), 
        _T(":8080/hellowword.jsp"), NULL, NULL, rgpszAcceptTypes, 0, 0); // here the error occure
    HttpAddRequestHeaders(hRequest, _T("Content-Type: application/jsonrn"), -1, 
        HTTP_ADDREQ_FLAG_ADD);
    char *JsonData = "..."; 
    HttpSendRequest(hRequest, NULL, 0, JsonData, strlen(JsonData));
    DWORD StatusCode = 0;
    DWORD StatusCodeLen = sizeof(StatusCode);
    HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &StatusCode, 
        &StatusCodeLen, NULL);
    if (StatusCode == 200)
    {
        // use InternetQueryDataAvailable() and InternetReadFile()
        // to read any response data as needed...
    }
    InternetCloseHandle(hRequest);
    InternetCloseHandle(hConnect);
    InternetCloseHandle(hInternet);
}

尝试使用:

LPCWSTR rgpszAcceptTypes[] = {L"application/json", NULL};

而不是:

LPTSTR rgpszAcceptTypes[] = {_T("application/json"), NULL};