Página 1 de 2

abrir site modo post com variaveis

Enviado: 29 Mar 2019 10:22
por Abel
olá pessoal, muito bom dia,

acredito que minha duvida é simples, mas como conheço pouco de programacao webservice
nao consegui fazer mesmo olhando os post no forum.

preciso abrir um site em modo post, hoje uso assim:

Código: Selecionar todos

myrun("c m d   /c start  http : "'+ALLTRIM(rA_URL)+ '"') 
esta url tem variaveis que sao automaticamente preenchidas
www.sitequevouabrir.com.br/lista?method ... g=11111111


quando utilizo por myrun ele abre no navegador, mas o usuario ve o comando inteiro na linha
no navegador, queria abrir em modo post para que o usuario nao pudesse ver o comando inteiro


agradeço desde ja,
Obrigado,
ABEL

abrir site modo post com variaveis

Enviado: 29 Mar 2019 11:40
por asimoes
Abel,

Essa url é inválida

abrir site modo post com variaveis

Enviado: 29 Mar 2019 11:45
por asimoes
Mostra o Ws (url) que você quer consumir.

abrir site modo post com variaveis

Enviado: 29 Mar 2019 11:47
por Nascimento
vc esta falando arquivo .json?
e seus métodos GET PUT DELETE POST ?

abrir site modo post com variaveis

Enviado: 29 Mar 2019 12:02
por Daniel
Ola exemplo:

Código: Selecionar todos

cParm:=  "__EVENTTARGET=" + ;
   			"&__EVENTARGUMENT=" + ;
   			"&__VIEWSTATE=" + Transfome(cviewState) + ;
            "&__VIEWSTATEGENERATOR=" + Transfome(cViewStateGenerator) + ;
            "&__EVENTVALIDATION=" + Transfome(cEeventValidation) + ;
            "&ctl00%24txtPalavraChave=" + ;
 				"&ctl00%24ContentPlaceHolder1%24txtChaveAcessoCompleta=" + cChave + ;
            "&ctl00%24ContentPlaceHolder1%24txtCaptcha=" + cCaptcha + ;
            "&ctl00%24ContentPlaceHolder1%24btnConsultar=Continuar" + ;
            "&ctl00%24ContentPlaceHolder1%24token=" + Transfome(cHiddenToken) + ;
            "&ctl00%24ContentPlaceHolder1%24captchaSom=" + Transfome(cHiddenSom) + ;
            "&hiddenInputToUpdateATBuffer_CommonToolkitScripts=1"
  	Try
      oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.6.0")
   Catch
		MsgInfo('Erro na Criação do Serviço')
		Return .f.
	End
	Try
      oServer:Open( "POST", cUrl, .f. )
   Catch
		MsgInfo('Erro na Conexão com o Site ' + cUrl)
		Return .f.
	End
  	oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
   oServer:SetRequestHeader( "Connection", "keep-alive" )
   oServer:SetRequestHeader( "Cookie", cStringCookie)
  	Try
   	oServer:Send(cParm)
      oServer:WaitForResponse( 500000 )
   Catch
		MsgInfo('Erro na Resposta com o Site ' + cUrl2)
		Return .f.
	End
   cHtml:= oServer:ResponseBody
   MemoWrit('siteA.txt', cHtml)

abrir site modo post com variaveis

Enviado: 29 Mar 2019 12:06
por Nascimento
assim que ia editar nosso amigo Daniel Postou rsrs

tem esse método aqui tambem, so vc adaptar as suas necessidades

Código: Selecionar todos


#include "hmg.ch"

Function Main()

Mandrill_()

Return Nil

****************************************************************************************
Function Mandrill_()

Local cURL, cApiUrl := "https://mandrillapp.com/api/1.0"
Local cAPIKey:="SomeAPIKey"
Local cPOSTdata
LOCAL h, oMandrill, hResp


//Init
BEGIN SEQUENCE WITH {|o| break(o)}
	oMandrill := Win_OleCreateObject( "MSXML2.ServerXMLHTTP" )

RECOVER
     MsgStop( "Microsoft XML Core Services (MSXML) 6.0 is not installed."+CRLF+;
          "Download and install MSXML 6.0 from http://msdn.microsoft.com/xml"+CRLF+;
          "before continuing.")
     oMandrill:=""

END SEQUENCE

IF EMPTY(oMandrill)
	MsgStop("Error while init.")
	RETURN 
ENDIF

//ping
//https://mandrillapp.com/api/docs/users.JSON.html#method=ping2
MsgInfo('Prepare for Ping')

cURL := cApiUrl + "/users/ping2.json"
h := { => }    
h [ "key" ] := cAPIKey
cPOSTdata := hb_jsonEncode( h , .T. )		//send as JSON
cResp := SendMandrill( cUrl, cPOSTdata, oMandrill )
	
IF cResp = "!ERROR!"
	MsgStop( cResp )	/* Report any errors */
ELSE
	MsgInfo( cResp , 'Response from server as JSON string')
	hResp := hb_jsonDecode( cResp )
	MsgDebug( hResp )
	cStatus     := hb_HGet( hResp  , "status" )
	nCode       := hb_HGet( hResp  , "code" )
	cName       := hb_HGet( hResp  , "name" )
	cMessage    := hb_HGet( hResp  , "message" )
	MsgDebug( cStatus , nCode , cName , cMessage )

ENDIF

//Close
oMandrill:Abort()


RETURN 

*****************************************************************************************
Function SendMandrill (cUrl, cPOSTdata, oMandrill)
Local cReturn

BEGIN SEQUENCE WITH {|o| break(o)}
	oMandrill:Open( "POST", cUrl, .F. )
	oMandrill:setRequestHeader("User-Agent", "Mandrill-Curl/1.0")
	oMandrill:Send( cPOSTdata )
	cReturn := oMandrill:ResponseBody()

RECOVER USING oErr
	cReturn := "!ERROR!" + CRLF + oErr:Description
 
END SEQUENCE
 	
RETURN cReturn
*****************************************************************************************
Créditos : http://www.hmgforum.com/viewtopic.php?f=6&t=5578

abrir site modo post com variaveis

Enviado: 03 Abr 2019 12:16
por Abel
ola, pessoal
nao sei se eu nao entendi o que voces postaram ou nao me expressei corretamente

segue um exemplo

Código: Selecionar todos

https://pctoledo.org/forum/viewtopic.php?f=4&t=19677&p=127766&hilit=TEMPORARY#p127766
apos o "e comercial" tem as variaveis com seus conteudos, queria isso transparente para o usuario nao ver
o que eu mandei executar.

pois quero abrir o site no navegador padrao e nao ler seu conteudo apenas

Agradeço
desde ja.
Abraços

abrir site modo post com variaveis

Enviado: 04 Abr 2019 12:28
por JoséQuintas

Código: Selecionar todos

cUrl := "seu endereço"
oWeb := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
oWeb:Open( "GET", cUrl, .F. )
oWeb:Send()
cRetorno := oWeb:ResponseBody()

abrir site modo post com variaveis

Enviado: 04 Abr 2019 23:02
por Fernando queiroz
cURL:="https://pctoledo.org/forum/viewto ... RY#p127766"

WAPI_ShellExecute( NIL, "OPEN", cURL , NIL,, NIL )


ALGO Assim??? :D :D :D

abrir site modo post com variaveis

Enviado: 15 Abr 2019 20:30
por Abel
fernando queiroz, seu exemplo abriu o navegador mas exibiu a linha do http completa
no navegador igual ao myrun que eu utilizo.

o que eu quero é que nao apareça com todas as variaveis preenchidas para o usuario nao ver
o comando que eu executei pelo sistema.

no caso do teste do jose quintas, nao abriu o site, preciso que abra o navegador.

Att
Abel.

abrir site modo post com variaveis

Enviado: 16 Abr 2019 10:03
por asimoes
Abel,

Veja se atende:

Código: Selecionar todos

   cURL := "https://pctoledo.org/forum/viewtopic.php?f=4&t=19677&p=127766&hilit=TEMPORARY#p127766"

  IF ( oIE := win_oleCreateObject( "InternetExplorer.Application" ) ) != NIL
      oIE:Visible := .F.
      oIE:Navigate( cURL )
   ELSE
      ? "Error. IExplorer not available.", win_oleErrorText()
   ENDIF

abrir site modo post com variaveis

Enviado: 16 Abr 2019 11:58
por Jairo Maia
Alexandre, mas se Visible for .F., não exibe a página, ela é aberta, não é visível e fica presa em processos ocupando memória. Não teria que ser .T.?

abrir site modo post com variaveis

Enviado: 17 Abr 2019 11:43
por JoséQuintas
Pensei que queria conversar com o endereço.

Igual ao exemplo da WVG então, usando activex.
A página do exemplo tá errada, mas mostra o conteúdo do que seria o navegador.
teste.png

abrir site modo post com variaveis

Enviado: 17 Abr 2019 15:40
por asimoes
JoséQuintas escreveu:Pensei que queria conversar com o endereço.

Igual ao exemplo da WVG então, usando activex.
A página do exemplo tá errada, mas mostra o conteúdo do que seria o navegador.
Tentei modificar o caption da janela usando SendMessage() , mas não consegui

abrir site modo post com variaveis

Enviado: 17 Abr 2019 16:39
por JoséQuintas
Acho que é nesta parte

Código: Selecionar todos

STATIC FUNCTION BuildActiveXControl( nActiveX, oDA )

   LOCAL oCom := WvgActiveXControl():New( oDA, , { 0, 0 }, { 100, 100 }, , .T. )

   SWITCH hb_defaultValue( nActiveX, 2 )
   CASE 1
      hb_gtInfo( HB_GTI_WINTITLE, "Shell.Explorer.2" + "  [  " + hb_Version( HB_VERSION_URL_BASE ) + "  ]" )
      oCom:CLSID := "Shell.Explorer.2"