Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ViniciusAM

[Resolvido] Enviar/receber dados ao script php

Recommended Posts

Olá, sou novato em c++ e tenho a seguinte situação:

Preciso enviar dados através de post (preferencialmente) ou get a um script php que irá ser acessado via web, esse escript irá verificar e validar os dados e devolver uma resposta.

 

Como eu poderia fazer isso no c++?

 

Obrigado, Vinicius A. Moreira http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza pessoal? Consegui fazer o que queria, vou disponibilizar um código de exemplo para se alguem precisar de uma base para fazer algo do tipo.

 

C++

// HTTP.cpp : Defines the entry point for the console application.

#include "stdafx.h"

#include <windows.h>
#include <wininet.h>

#include <iostream>
using namespace std;

HINTERNET hSession;
HINTERNET hConnect;
HINTERNET hRequest;

int _tmain(int argc, _TCHAR* argv[])
{
	TCHAR hdrs[] = _T("Content-Type: application/x-www-form-urlencoded");
	TCHAR frmdata[] = _T("key=abc");
	LPSTR accept[2] = {"*/*", NULL};
	unsigned long lBytesRead;

	hSession = InternetOpen("VerificaKey", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
	if (hSession) {
		hConnect = InternetConnect(hSession, _T("localhost"),
			INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
		if (hConnect) {
			hRequest = HttpOpenRequest(hConnect, "POST", _T("verifica.php"), NULL, NULL, NULL, 0, 1);
			if (hRequest) {
				if(HttpSendRequest(hRequest, hdrs, strlen(hdrs), frmdata, strlen(frmdata))) {
					char response[255];
					InternetReadFile(hRequest, response, 255, &lBytesRead);
					if (strcmp(response, "Chave verificada com sucesso!") != 0) {
						cout << "Falha na verificacao da chave!" << endl;
					} else {
						cout << response << endl;
					}
				}
			}
		}
	}

	int e;
	cin >> e;

	return 0;
}

PHP

<?php
	$key = $_POST['key'];
	if (strcmp($key, 'abc') == 0)
		echo 'Chave verificada com sucesso!';
?>

Link para a api das funções: http://msdn.microsoft.com/en-us/library/aa385473(VS.85).aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.