Notifications
Clear all

Como enviar dados para uma determinada URL via metodo POST?

2 Posts
1 Usuários
0 Reactions
898 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

O meu servidor possui um arquivo PHP responsavel por receber parametros via metodo POST e atualiza-los no banco de dados do meu servidor.

Supondo que eu tenho duas variaveis:

Dim produto As String
produto = "mesa de jantar"
Dim preco As String
preco = 17.90

E queira enviar esses valores via metodo POST para uma determinada url chamada http://meusite.com.br/receberValores.php , como posso fazer isso?

Gostaria de saber tambem como obter a resposta dessa URL? Uma vez que o arquivo PHP retorna um resultado.

Grato

 
Postado : 19/09/2016 10:08 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Para enviar um determinado valor do excel para um arquivo que está dentro do servidor usamos o seguinte comando abaixo:

Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "URL AQUI"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.send ("valor=panilhando")

Supondo que temos o seguinte arquivo feito em PHP em nosso servidor: (Este arquivo se chama "nomeDoArquivoQueVaiProcessarARequisicao.php")

<?php
$conteudo .= "Valor Recebido: ".$_POST['valor'];//Variavel que responsavel por armazenar um texto e 
$fp = fopen("NOMEDOARQUIVO.txt","wb");//Comando responsavel por criar um arquivo de texto chamado 'NOMEDOARQUIVO.txt'
fwrite($fp,$conteudo);//Comando responsavel por gravar o texto que armazenamos na variavel $conteudo acima
fclose($fp);//Comando responsavel por finalizar a criação do arquivo de texto
echo "Eu recebi o valor: ".$_POST['valor'];//Mostra uma mensagem na tela dizendo que o valor foi recebido (O excel consegue puxa-lo)
?>

Se desejarmos enviar o texto "panilhandoForum" para o nosso servidor devemos usar o seguinte comando:

Sub Teste()

EnviarParaWebsite ("valor=panilhandoForum")

End Sub

Public Function EnviarParaWebsite(stringCompleta As String)
    
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "http://www.nomeDoSeuDominio.com.br/nomeDoArquivoQueVaiProcessarARequisicao.php"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.send (stringCompleta)
    
MsgBox "O servidor respondeu de volta: " & objHTTP.responsetext

End Function

Para facilitar criei uma função responsavel por executar esse comando como vimos acima.

Abraços.
Resolvido.

 
Postado : 03/10/2016 5:07 pm