xXxRevolutionxXx Ответов: 0

Http post request - отправлен, но он не работает


- Привет! Итак, я создаю приложение на языке C++, которое сохраняет некоторые метрики с компьютера, а затем загружает их на сервер (сделанный с помощью PHP), чтобы пользователь мог получить доступ к данным позже в какой-то момент.

Этот код, который я создал для этой работы, размещен ниже.

Строка с сообщением, взята с почтальона. Теперь проблема в том, что все, кажется, хорошо выполняется в методе, но я не получаю никаких данных в свою базу данных. Это, конечно, не проблема PHP, потому что вручную он работает. Есть идеи, что это может вызвать проблему ?

Что я уже пробовал:

Это тот самый код, который я придумал, который отправляет http post запрос:

BOOL SendPostRequest(string server, string message)
{
	struct sockaddr_in address;
	unsigned long ulAddr;
	SOCKET sock;
	int connectResult;
	int messageSize = strlen(message.c_str());

	sock = socket(AF_INET, SOCK_STREAM, 0);

	if (sock == INVALID_SOCKET)
	{
		closesocket(sock);
		return FALSE;
	}

	address.sin_family = AF_INET;
	address.sin_port = htons(80);

	ulAddr = inet_addr(server.c_str());

	memcpy(&address.sin_addr, &ulAddr, sizeof ulAddr);

	connectResult = connect(sock, reinterpret_cast<sockaddr*>(&address), sizeof address);

	if (connectResult != 0)
	{
		closesocket(sock);
		return FALSE;
	}

	send(sock, message.c_str(), messageSize, 0);

	closesocket(sock);

	return TRUE;
}


И я называю/использую его вот так:

string message = "POST /submit.php?Url=www.example.com&Username=Revolution&Password=samplepassword HTTP/1.1"
"Host: localhost"
"Cache-Control: no-cache";
BOOL result = SendPostRequest("192.168.1.1", message);

Richard MacCutchan

Какой ответ вы получаете от post-запроса, какая информация обрабатывается в PHP-коде? Вам нужно проследить путь до конца как через клиент, так и через сервер.

Richard MacCutchan

int messageSize = strlen(message.c_str());
Почему вы используете strlen вот, и не message.length?

0 Ответов