Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Explanações sobre o que é URI, URL, URN e conferindo na prática algumas diferenças entre POST e GET com PHP e HTML. Também tem um teste que verifica algumas diferenças entre POST e GET, um teste simples dos limites de caracteres que alguns navegadores suportam na barra de endereços e um teste simples de velocidade das solicitações POST e GET.
[ Hits: 4.736 ]
Por: Buckminster em 30/04/2024
echo '<br>1 --------------------------------------------------------------------<br><br>'; // GET // Usando file_get_contents // URL para teste $urlG_FGC = 'https://www.vivaolinux.com.br/testarLogin.php'; // Mede o tempo inicial da requisição $tempoInicialG_FGC = hrtime(true); // Faz a requisição GET $respostaG_FGC = file_get_contents($urlG_FGC); // Mede o tempo final da requisição $tempoFinalG_FGC = hrtime(true); // Calcula o tempo decorrido //$tempoDecorridoG_FGC = round(($tempoFinalG_FGC - $tempoInicialG_FGC) * 1000, 2); $tempoDecorridoG_FGC = round($tempoFinalG_FGC - $tempoInicialG_FGC); // Exibe a resposta da requisição (para fins de depuração) echo "Resposta da requisição GET (file_get_contents):<br>"; //var_dump($respostaG_FGC); // Exibe o tempo decorrido: echo $variavel/1e+6; //nanosegundos para milisegundos // // Exibe o tempo decorrido formatado com dois dígitos após o ponto //echo "Tempo decorrido: {$tempoDecorridoG_FGC} ms<br>"; echo "Tempo decorrido: " .number_format($tempoDecorridoG_FGC/1e+6, 2, '.', ''). " ms<br>"; echo '<br>2 --------------------------------------------------------------------<br><br>'; // GET Usando cURL // URL para teste $urlG_URL = 'https://www.vivaolinux.com.br/testarLogin.php'; $formLogin = filter_input(INPUT_GET, 'formLogin', FILTER_UNSAFE_RAW); $formSenha = filter_input(INPUT_GET, 'formSenha', FILTER_UNSAFE_RAW); // Dados a serem enviados na requisição $dadoG_URL = array('formLogin' => $formLogin, 'formSenha' => $formSenha,); // Inicializa o cURL //var_dump(function_exists('curl_init')); $curlG_URL = curl_init(); // Define as opções do cURL curl_setopt_array($curlG_URL, array( CURLOPT_URL => $urlG_URL, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPGET => true, //CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POSTFIELDS => http_build_query($dadoG_URL), CURLOPT_TIMEOUT => 30, // Tempo limite da requisição em segundos )); // Mede o tempo inicial da requisição $tempoInicialG_URL = hrtime(true); // Executa a requisição GET $respostaG_URL = curl_exec($curlG_URL); // Mede o tempo final da requisição $tempoFinalG_URL = hrtime(true); // Calcula o tempo decorrido //$tempoDecorridoG_URL = round(($tempoFinalG_URL - $tempoInicialG_URL) * 1000, 2); $tempoDecorridoG_URL = round($tempoFinalG_URL - $tempoInicialG_URL); // Verifica se houve algum erro na requisição if(curl_errno($curlG_URL)){ echo 'Erro ao enviar a requisição: ' . curl_error($curlG_URL); } else { // Exibe a resposta da requisição (para fins de depuração) echo "Resposta da requisição GET (cURL):<br>"; //var_dump($respostaG_URL); if (array_key_exists("formSenha", $dadoG_URL)) { echo "O elemento "; $v = var_export($formSenha, true); echo $v; echo " está no array!<br>"; } // Exibe o tempo decorrido: echo $variavel/1e+6; //nanosegundos para milisegundos //echo "Tempo decorrido: ".$tempoDecorridoG_URL/1e+6. "ms<br>"; echo "Tempo decorrido: ".number_format($tempoDecorridoG_URL/1e+6, 2, '.', ''). " ms<br>"; } // Fecha a conexão cURL curl_close($curlG_URL); echo '<br>3 --------------------------------------------------------------------<br><br>'; // POST com file_get_contents // URL para onde será feita a requisição POST $urlP_FGC = 'https://www.vivaolinux.com.br/testarLogin.php'; // Dados a serem enviados via POST $dadoP_FGC = array( 'formLogin' => $formLogin, 'formSenha' => $formSenha, ); // Configuração da requisição $opcoesP_FGC = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($dadoP_FGC), 'timeout' => 30, // Tempo limite de espera em segundos ), ); // Início da contagem de tempo $tempoInicialP_FGC = hrtime(true); // Realiza a requisição POST $respostaP_FGC = file_get_contents($urlP_FGC, false, stream_context_create($opcoesP_FGC)); // Fim da contagem de tempo $tempoFinalP_FGC = hrtime(true); // Calcula o tempo de requisição $tempoDecorridoP_FGC = round($tempoFinalP_FGC - $tempoInicialP_FGC); // Exibe a resposta da requisição (para fins de depuração) echo "Resposta da requisição POST (file_get_contents):<br>"; //var_dump($respostaP_FGC); if (array_key_exists("formLogin", $dadoP_FGC)) { echo "O elemento "; $v = var_dump($formLogin, true); echo $v; echo " está no array!<br>"; } // Exibe o tempo de requisição //echo "Tempo decorrido: {$tempoDecorridoP_FGC} ms<br>"; echo "Tempo decorrido: ".number_format($tempoDecorridoP_FGC/1e+6, 2, '.', ''). " ms<br>"; echo '<br>4 --------------------------------------------------------------------<br><br>'; // POST cURL // URL para teste $urlP_URL = 'https://www.vivaolinux.com.br/testarLogin.php'; // Dados a serem enviados na requisição $dadoP_URL = array('formLogin' => $formLogin, 'formSenha' => $formSenha,); // Inicializa o cURL $curlP_URL = curl_init(); // Define as opções do cURL curl_setopt_array($curlP_URL, array( CURLOPT_URL => $urlP_URL, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, //CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POSTFIELDS => http_build_query($dadoP_URL), CURLOPT_TIMEOUT => 30, // Tempo limite da requisição em segundos )); // Mede o tempo inicial da requisição $tempoInicialP_URL = hrtime(true); // Executa a requisição POST $respostaP_URL = curl_exec($curlP_URL); // Mede o tempo final da requisição $tempoFinalP_URL = hrtime(true); // Calcula o tempo decorrido //$tempoDecorridoP_URL = round(($tempoFinalP_URL - $tempoInicialP_URL) * 1000, 2); $tempoDecorridoP_URL = round($tempoFinalP_URL - $tempoInicialP_URL); // Verifica se houve algum erro na requisição if(curl_errno($curlP_URL)){ echo 'Erro ao enviar a requisição: ' . curl_error($curlP_URL); } else { // Exibe a resposta da requisição (para fins de depuração) echo "Resposta da requisição POST (cURL):<br>"; //var_dump($respostaP_URL); if (array_key_exists("formSenha", $dadoP_URL)) { echo "O elemento "; $v = var_export($formSenha, true); echo $v; echo " está no array!<br>"; } // Exibe o tempo decorrido //echo "Tempo decorrido: {$tempoDecorridoP_URL} ms<br>"; echo "Tempo decorrido: ".number_format($tempoDecorridoP_URL/1e+6, 2, '.', ''). " ms<br>"; } // Fecha a conexão cURL curl_close($curlP_URL); /******************************************************************************/ // GET e POST com file() // Função para medir o tempo decorrido function calcularTempo($tempoInicial) { $tempoFinal = hrtime(true); return round($tempoFinal - $tempoInicial); } // URL $url = 'https://www.vivaolinux.com.br/testarLogin.php'; // Medição do tempo para requisição GET $tempoInicialGET = hrtime(true); $respostaGET = file($url); // Faz a requisição GET $tempoGET = calcularTempo($tempoInicialGET); // Medição do tempo para requisição POST $tempoInicialPOST = hrtime(true); $dadoPOST = array('formLogin' => $formLogin, 'formSenha' => $formSenha); $opcoes = array( 'http' => array( 'Content-Type' => 'application/x-www-form-urlencoded ', 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => http_build_query($dadoPOST) ) ); $contexto = stream_context_create($opcoes); $respostaPOST = file($url, false, $contexto); // Faz a requisição POST $tempoPOST = calcularTempo($tempoInicialPOST); echo '<br>5 --------------------------------------------------------------------<br><br>'; // Exibe a resposta da requisição (para fins de depuração) echo $variavel/1e+6; //nanosegundos para milisegundos echo "Resposta da requisição GET (file):<br>"; //var_dump($respostaGET); echo "Tempo decorrido: ".number_format($tempoGET/1e+6, 2, '.', ''). " ms<br>"; echo '<br>6 --------------------------------------------------------------------<br><br>'; // Exibe a resposta da requisição (para fins de depuração) echo "Resposta da requisição POST (file):<br>"; //var_dump($respostaPOST); if (array_key_exists("formLogin", $dadoPOST)) { echo "O elemento "; $v = var_dump($formLogin, true); echo $v; echo " está no array!<br>"; } echo "Tempo decorrido: ".number_format($tempoPOST/1e+6, 2, '.', ''). " ms<br>"; echo '<br>----------------------------------------------------------------------<br><br>';
Instalar certificado SSL/TLS digital válido gratuito no Linux
VMD no Debian - Instalação e configuração
Instalação do Comodo Antivirus para Linux (CAVL) resolvendo o problema de dependências
Gerando gráficos com PHP e highcharts.com
Ninguém planeja fracassar, mas muitos fracassam por não planejar
Instalação do MediaWiki em uma Project web do SourceForge
Debian com Apache, PHP4, PHP5 e MySQL
JOOMLA no openSUSE em 10 passos
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Remoção de propaganda com o programa Comskip[AJUDA] (4)
Instalação do drive do adaptador wiffi (5)
Linux Lite Demorando Muito Para Ligar (1)