C++ 将数据发送到 PHP 并处理响应
C++ Send data to PHP and handle Response
void SendHardverInfo(){
DWORD VolumeSerialNumber;
if (GetVolumeInformation("C:\", 0, 0, &VolumeSerialNumber, 0, 0, 0, 0) == 0)
{
return;
}
UUID uuid;
UuidCreateSequential(&uuid);
SYSTEM_INFO SystemInfo;
GetSystemInfo(&SystemInfo);
DWORD ComputerHardwareId1 = VolumeSerialNumber ^ 0x12B586FE;
DWORD ComputerHardwareId2 = *(DWORD*)(&uuid.Data4[2]) ^ 0x5D78A569;
DWORD ComputerHardwareId3 = ((*(WORD*)(&uuid.Data4[6]) & 0xFFFF) | (SystemInfo.wProcessorArchitecture << 16)) ^ 0xF45BC123;
DWORD ComputerHardwareId4 = ((SystemInfo.wProcessorLevel & 0xFFFF) | (SystemInfo.wProcessorRevision << 16)) ^ 0xB542D8E1;
//SENDSERVER
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
return;
}
SOCKET Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
struct hostent *host;
host = gethostbyname("www.mysite.com");
SOCKADDR_IN SockAddr;
SockAddr.sin_port = htons(80);
SockAddr.sin_family = AF_INET;
SockAddr.sin_addr.s_addr = *((unsigned long*)host->h_addr);
if (connect(Socket, (SOCKADDR*)(&SockAddr), sizeof(SockAddr)) != 0){
return;
}
char Text[256];
ZeroMemory(Text, sizeof(Text));
sprintf(Text, "%08X-%08X-%08X-%08X", ComputerHardwareId1, ComputerHardwareId2, ComputerHardwareId3, ComputerHardwareId4);
char link[500];
strcat(link, "GET /api/hardverinfo.php?hardverinfo=");
strcat(link, Text);
strcat(link, " HTTP/1.1rnHost: www.mysite.comrnConnection: closernrn");
send(Socket, link, strlen(link), 0);
char buffer[10000];
int nDataLength;
while ((nDataLength = recv(Socket, buffer, 10000, 0)) > 0){
int i = 0;
while (buffer[i] >= 32 || buffer[i] == 'n' || buffer[i] == 'r') {
i += 1;
}
}
closesocket(Socket);
WSACleanup();
printf(link);
return;
//ENDSEND
}
嗨,我有这段代码,它有效且很好。但是在我将GET请求发送到网站后,我想处理答案,例如在get完成后,网站返回OK,我想在我的应用程序中处理这个OK,我该怎么做?
将 GET 请求标头更改为此
" HTTP/1.1rnHost: www.mysite.comrnContent-type: application/x-www-form-urlencodedrnrn";
而不是最后的标题部分。这应该强制您的 php 服务器以应用程序可读的格式响应。
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 处理csv的最快方法,bash与php与c/c++的处理速度
- php中的Parellal处理
- 图像处理(OpenCV with PHP) - exec 命令出现问题
- 如何在php中处理二进制数据(而不是二进制字符串)
- Linux守护进程在c++中处理PHP请求
- C++ 将数据发送到 PHP 并处理响应