Ir para conteúdo
Fórum Script Brasil
  • 0

Capturar conteúdo da saída de um programa externo


José Roberto Redígolo

Pergunta

Prezados,

Sou iniciante em PHP e tenho uma dúvida que não consegui sanar na internet. Tenho um programa externo que me dá o seguinte retorno:

decoding from Base64:  QNVqRQGAAQAyKVlWDC2Za5A6
Decoded packet
--------------
Message Type = Data
            PHYPayload = 40D56A4501800100322959560C2D996B903A

          ( PHYPayload = MHDR[1] | MACPayload[..] | MIC[4] )
                  MHDR = 40
            MACPayload = D56A4501800100322959560C2D
                   MIC = 996B903A (OK)

          ( MACPayload = FHDR | FPort | FRMPayload )
                  FHDR = D56A4501800100
                 FPort = 32
            FRMPayload = 2959560C2D
             Plaintext = 48656C6C6F ('Hello')

                ( FHDR = DevAddr[4] | FCtrl[1] | FCnt[2] | FOpts[0..15] )
               DevAddr = 01456AD5 (Big Endian)
                 FCtrl = 80
                  FCnt = 0001 (Big Endian)
                 FOpts =

          Message Type = Unconfirmed Data Up
             Direction = up
                  FCnt = 1
             FCtrl.ACK = false
             FCtrl.ADR = true
       FCtrl.ADRACKReq = false
 

Preciso colocar o valor de Plaintext e o valor de DevAddr em uma variável. Preciso apenas dos valores em hexadecimal. Alguém tem algum exemplo de como fazer isso?

Desde já agradeço.

Zé Roberto

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Boa noite @José Roberto Redígolo

Vai depender como esses dados são retornados (dentro de um arquivo ou dentro da página html), como não sei de onde partir para simular vou pegar o seu retorno inteiro e colocar dentro de uma variável para percorrer ela usando a função PHP preg_match()

Fonte: https://www.horadecodar.com.br/2020/07/22/encontrar-uma-palavra-especifica-em-string-no-php/

Me avisa se estou fazendo um pouco fora, depois dos testes retorno.

Link para o comentário
Compartilhar em outros sites

  • 0

Criei uma função para retornar o hexadecimal do campo que você informar:

getTextDataValue ( Dados, ValorProcurado )

$plaintext = getTextDataValue($dr, "Plaintext = ");

Função:

/**
 * @param string $dados
 * @param string $procurar
 * @param int 	 $td
 * @param int 	 $rp
 * @param int    $posI
 * @param int 	 $posF
 */

function getTextDataValue($dados, $procurar){
	$td = strlen($dados); 
	$tp = strlen($procurar);

	//Verificar se tem caracters nos dados
	if ( $td > 0 && $tp > 0){
		$posI = strpos($dados, $procurar) + $tp;
		$posF = strpos($dados, " ", $posI) - $posI;

		//Verificar se a posição inicial é maior que tamanho da string procurada
		if ($posI > $tp) {
			$result = substr($dados, $posI, $posF);
		}else{
			$result = "O texto $procurar não foi encontrado.\n";
		}

	}else{
		$result = "Sem dados correto.\n";
	}

	return $result;
}

Caso ainda esteja com duvida como foi usado estou passando o link do Github PHP API TEXT

https://github.com/AlysonDEV/forumscript-joseroberto-phpapitext

image.png.6c95236474c4688c954d6dd3a6fa1c66.png

 

Era isso que estava precisando?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...