-1
저는 C++에서 프로그래밍하지 않지만 누가 질문합니다. 질문이 간단하거나 어리 석다면 유감입니다.HttpOpenRequest를 통해 JSON 데이터를 보내십시오.
JSON
데이터를 일부 웹 서비스/사이트로 보내려면 HttpOpenRequest/HttpSendRequest
개체를 사용하는 간단한 예제가 필요합니다.
저는 C++에서 프로그래밍하지 않지만 누가 질문합니다. 질문이 간단하거나 어리 석다면 유감입니다.HttpOpenRequest를 통해 JSON 데이터를 보내십시오.
JSON
데이터를 일부 웹 서비스/사이트로 보내려면 HttpOpenRequest/HttpSendRequest
개체를 사용하는 간단한 예제가 필요합니다.
감사 http://hostname/path/scriptname
에 JSON 문자열을 보낼 수있는 매우 맨손으로 뼈의 예입니다. 필요에 따라 적절한 오류 검사, 상태 코드 확인 등을 추가해야합니다.
HINTERNET hInternet = InternetOpen(_T("MyApp"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hConnect = InternetConnect(hInternet, _T("hostname"), INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
LPTSTR rgpszAcceptTypes[] = {_T("application/json"), NULL};
HINTERNET hRequest = HttpOpenRequest(hConnect, _T("POST"), _T("/path/scriptname"), NULL, NULL, rgpszAcceptTypes, 0, 0);
HttpAddRequestHeaders(hRequest, _T("Content-Type: application/json\r\n"), -1, HTTP_ADDREQ_FLAG_ADD);
char *JsonData = "..."; // your actual JSON data here
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);
첫째로 -1에 감사드립니다. 매우 건설적인 도움 :). 어쨌든, 지금까지 내가 아는 한 내 친구가 이러한 객체를 사용하여 대기열이 아닌 비 json 요청을 보냈습니다. 이제 그는 json을 보낼 필요가 있습니다. 그의 지식에 빠진 것이 있습니다. – mikabuka