
{"id":183,"date":"2018-01-06T15:56:30","date_gmt":"2018-01-06T17:56:30","guid":{"rendered":"http:\/\/eliezerladeira.com.br\/blog\/?p=183"},"modified":"2018-08-30T17:49:46","modified_gmt":"2018-08-30T20:49:46","slug":"asptear","status":"publish","type":"post","link":"https:\/\/eliezerladeira.com.br\/blog\/asptear\/","title":{"rendered":"AspTear"},"content":{"rendered":"<p>[ratings]<\/p>\n<p>Uma boa pr\u00e1tica para continuar aprendendo \u00e9 estar sempre vasculhando novidades que se escondem nesta vasta teia chamada Internet. Existem muitas comunidades de desenvolvedores, cada uma focada em uma determinada linguagem. Nestes sites, al\u00e9m de procurar solu\u00e7\u00f5es para seus problemas espec\u00edficos, voc\u00ea pode tamb\u00e9m ter surpresas muito agrad\u00e1veis, descobrindo id\u00e9ias novas e c\u00f3digos verdadeiramente quentes. Uma das grandes surpresas \u00e9 o componente gratuito AspTear.<\/p>\n<div>\n<div class=\"article\">\n<p>O trabalho do AspTear \u00e9 bastante simples. Voc\u00ea indica uma determinada URL, o componente se comunica com esta URL via protocolo http e captura a sa\u00edda desta p\u00e1gina. Passando a limpo, o seu c\u00f3digo passa a ser o Browser daquela p\u00e1gina solicitada.<\/p>\n<p>A partir deste ponto, todo o c\u00f3digo deste site capturado pode ser manipulado pelo seu c\u00f3digo da forma que voc\u00ea desejar. Vamos olhar um exemplo disso:<\/p>\n<p><strong>Listagem 1:<\/strong> Declara\u00e7\u00e3o de constantes para uso posterior<\/p>\n<pre class=\"brush:js;toolbar:false;\">on error resume next\r\nConst Request_POST = 1\r\nConst Request_GET = 2\r\nSet xobj = Server.CreateObject(\"SOFTWING.ASPtear\")<\/pre>\n<div class=\"spacesyntax\">At\u00e9 o presente momento criamos duas constantes que ser\u00e3o usadas mais tarde e instanciamos o componente &#8220;SOFTWING.ASPtear&#8221;, colocando-o dentro do objeto &#8220;xobj&#8221;.<\/div>\n<p><strong>Listagem 2:<\/strong> Obtendo c\u00f3digo de sa\u00edda da URL<\/p>\n<pre class=\"brush:js;toolbar:false;\">variavel_string = xobj.Retrieve(\"http:\/\/www.linhadecodigo.com.br\", Request_POST ,\"xxzz=3\", \"\", \"\")<\/pre>\n<div class=\"spacesyntax\">O m\u00e9todo Retrieve comunica-se com a URL &#8211; http:\/\/www.linhadecodigo.com.br &#8211; capturando o seu c\u00f3digo de sa\u00edda. O processamento do c\u00f3digo vai esperar o retorno do AspTear para continuar. Atrav\u00e9s de &#8220;variavel_string&#8221; voc\u00ea tem acesso a todo este c\u00f3digo de sa\u00edda da p\u00e1gina solicitada, podendo manipul\u00e1-lo de acordo com a sua necessidade : enviando-o para o browser via &#8220;response.write&#8221;, gravando em um Banco de Dados, enfim, aqui depende da sua criativade e da aplica\u00e7\u00e3o que esteja construindo.<\/div>\n<p>Vamos olhar com mais calma o m\u00e9todo Retrieve . Os par\u00e2metros que devemos passar s\u00e3o os seguintes:<\/p>\n<p>Retrieve(url, metodo , parametros, login, senha)<\/p>\n<p><strong>url<\/strong> &#8211; O endere\u00e7o da p\u00e1gina que desejamos capturar.<\/p>\n<p><strong>metodo<\/strong> &#8211; Post ou Get, para Post usamos 1, para Get usamos 2, ou ent\u00e3o usamos o esquema de constantes como no exemplo acima. Aqui existe uma pequena sutileza. O AspTear faz um cache das p\u00e1ginas que voc\u00ea captura. Se voc\u00ea quer ter certeza que est\u00e1 capturando a vers\u00e3o mais atualizada de uma determinada p\u00e1gina use sempre o m\u00e9todo Post passando algum valor em parametros, mesmo que seja falso e que n\u00e3o seja processado pela p\u00e1gina que recebe a chamada do AspTear. Repare que no exemplo acima passamos &#8220;xxzz=3&#8221;. Por outro lado, se n\u00e3o \u00e9 t\u00e3o importante assim uma vers\u00e3o atualizada da p\u00e1gina use o m\u00e9todo Get. Isso vai fazer o seu c\u00f3digo mais r\u00e1pido porque ele vai ter que esperar menos tempo pelo retorno do AspTear, que estar\u00e1 usando o cache.<\/p>\n<p><strong>parametros<\/strong> &#8211; Pense neles como voc\u00ea pensaria os campos de um formul\u00e1rio em Html. S\u00e3o as vari\u00e1veis que voc\u00ea estar\u00e1 passando para a p\u00e1gina que vai receber a chamada do AspTear. Como voc\u00ea j\u00e1 deve ter percebido, \u00e9 poss\u00edvel passar informa\u00e7\u00f5es para uma p\u00e1gina que n\u00e3o esteja dentro do seu site atrav\u00e9s desta t\u00e9cnica. A p\u00e1gina que recebe as informa\u00e7\u00f5es trata elas exatamente como trataria se fosse usado um formul\u00e1rio HTML. Voc\u00ea pode passar quantas vari\u00e1veis desejar usando o seguinte formato &#8211; &#8220;nome=Eraldo&amp;email=eraldosergio@bol.com.br&amp;tel=2345678&#8221;<\/p>\n<p><strong>login e senha<\/strong> &#8211; Se o AspTear estiver acessando alguma p\u00e1gina fechada por seguran\u00e7a, use estes campos para autenticar o AspTear com o Servidor que est\u00e1 hospedando a p\u00e1gina fechada.<\/p>\n<p>Agora que destrinchamos melhor o AspTear e vimos um pequeno exemplo de seu instanciamento, podemos falar em aplica\u00e7\u00f5es mais completas. Na primeira parte deste artigo desenvolveremos uma aplica\u00e7\u00e3o que faz um cache de p\u00e1ginas din\u00e2micas. Na segunda parte deste artigo falaremos de dois sites diferentes que precisam trocar cadastros, verificar permiss\u00f5es e de como o AspTear pode realizar este trabalho.<\/p>\n<p>A id\u00e9ia de nossa primeira aplica\u00e7\u00e3o \u00e9 aumentar a velocidade de alguns sistemas din\u00e2micos que usam ASP. Na verdade a p\u00e1gina que o AspTear chama n\u00e3o precisa ser ASP, pode ser qualquer linguagem que gere alguma sa\u00edda para o Browser.<\/p>\n<p>Na contru\u00e7\u00e3o de sistemas din\u00e2micos muitas vezes percebemos que nem sempre a p\u00e1gina precisa ser processada a cada requisi\u00e7\u00e3o de um cliente. Imagine o seguinte exemplo: uma p\u00e1gina em ASP que \u00e9 a capa de uma revista eletr\u00f4nica, com as chamadas de diversas mat\u00e9rias e artigos que est\u00e3o armazenados em um Banco de Dados. Cada requisi\u00e7\u00e3o do usu\u00e1rio faz a p\u00e1gina ASP comunicar-se com o Banco de Dados para montar o HTML que ser\u00e1 ent\u00e3o enviado ao usu\u00e1rio em seu browser. Este processo pode ser muito dispensioso em recursos de computa\u00e7\u00e3o. Estudando melhor a quest\u00e3o notamos que estes artigos e mat\u00e9rias s\u00e3o atualizados somente de 3 em 3 horas, ou seja, na maior parte do tempo a p\u00e1gina ASP vai ao Banco de Dados buscar as mesmas informa\u00e7\u00f5es para montar o mesmo HTML.<\/p>\n<p>Toda vez que nos deparamos com uma condi\u00e7\u00e3o desta devemos pensar na cria\u00e7\u00e3o de um sistema de cache. A id\u00e9ia de criar um cache \u00e9 fazer com que a p\u00e1gina ASP envie um HTML previamente constru\u00eddo, evitando assim uma s\u00e9rie de processamentos que n\u00e3o s\u00e3o necess\u00e1rios, aliviando o overhead do sistema.<\/p>\n<p><a href=\"http:\/\/www.alphasierrapapa.com\/IisDev\/Components\/AspTear\/\" target=\"_blank\">Clique aqui<\/a> para baixar o componente AspTear e ler a documenta\u00e7\u00e3o adicional.<\/p>\n<p>Em breve postarei novos artigos com mais exemplos de aplica\u00e7\u00f5es \u00fateis utilizando AspTear.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>[ratings] Uma boa pr\u00e1tica para continuar aprendendo \u00e9 estar sempre vasculhando novidades que se escondem nesta vasta teia chamada Internet.<\/p>\n","protected":false},"author":1,"featured_media":184,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[15],"tags":[49,50,51,52],"class_list":["post-183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatica","tag-asptear","tag-internet","tag-programacao","tag-web"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/eliezerladeira.com.br\/blog\/wp-content\/uploads\/2017\/03\/AspNet.jpg","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":2783,"url":"https:\/\/eliezerladeira.com.br\/blog\/como-criar-um-widget\/","url_meta":{"origin":183,"position":0},"title":"Como criar um\u00a0widget","author":"admin","date":"","format":false,"excerpt":"Produza seu pr\u00f3prio widget\u00a0e exporte seu feed RSS para outros sites e blogs. Os widgets\u00a0est\u00e3o no auge de sua popularidade. Com eles \u00e9 poss\u00edvel adicionar not\u00edcias, miniaplicativos, joguinhos e outros trecos digitais a qualquer blog ou site pessoal. Parece complicado de fazer, mas, em termos de programa\u00e7\u00e3o, um widget \u00e9\u2026","rel":"","context":"Em &quot;Programa\u00e7\u00e3o&quot;","block_context":{"text":"Programa\u00e7\u00e3o","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/programacao\/"},"img":{"alt_text":"266_widget2","src":"https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2009\/01\/266_widget2.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":4593,"url":"https:\/\/eliezerladeira.com.br\/blog\/como-baixar-videos-que-nao-estao-no-youtube\/","url_meta":{"origin":183,"position":1},"title":"Como baixar v\u00eddeos que n\u00e3o est\u00e3o no\u00a0YouTube","author":"admin","date":"","format":false,"excerpt":"Muitas vezes \u00e9 complicado copiar um v\u00eddeo que n\u00e3o est\u00e1 no YouTube ou n\u00e3o tem uma URL amig\u00e1vel. Por alguma raz\u00e3o, certos criadores de sites escondem o arquivo no c\u00f3digo ou dificultam a sua vida utilizando tecnologias obscuras de streaming. A seguir, duas maneiras de resolver isso. Confira. Para fazer\u2026","rel":"","context":"Em &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/internet\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2011\/04\/captura.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2011\/04\/captura.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2011\/04\/captura.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/netsysoft.wordpress.com\/wp-content\/uploads\/2011\/04\/captura.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4280,"url":"https:\/\/eliezerladeira.com.br\/blog\/truques-que-melhoram-a-utilizacao-do-youtube\/","url_meta":{"origin":183,"position":2},"title":"Truques que melhoram a utiliza\u00e7\u00e3o do\u00a0YouTube","author":"admin","date":"","format":false,"excerpt":"O Youtube \u00e9 um dos sites mais acessados na web e parte do cotidiano de milh\u00f5es de pessoas. Abaixo selecionamos quatro maneiras de otimizar o compartilhamento, reprodu\u00e7\u00e3o e download dos v\u00eddeos dispon\u00edveis no site. Programe o in\u00edcio de v\u00eddeo no YouTube Ao compartilhar um link do YouTube, \u00e0s vezes, \u00e9\u2026","rel":"","context":"Em &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/internet\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4307,"url":"https:\/\/eliezerladeira.com.br\/blog\/proteja-se-dos-perigos-da-web-com-estas-dicas-de-seguranca\/","url_meta":{"origin":183,"position":3},"title":"Proteja-se dos perigos da web com estas dicas de\u00a0seguran\u00e7a","author":"admin","date":"","format":false,"excerpt":"Voc\u00ea sabe muit\u00edssimo bem que deve manter o antiv\u00edrus atualizado para fugir dos trojans, e n\u00e3o \u00e9 ing\u00eanuo o suficiente para baixar qualquer aplicativo de sites desconhecidos, certo? Mesmo tomando conta dos quesitos b\u00e1sicos, a sensa\u00e7\u00e3o de inseguran\u00e7a ainda \u00e9 forte em voc\u00ea. O que fazer? Seguem algumas dicas\u00a0avan\u00e7adas\u00a0de seguran\u00e7a\u2026","rel":"","context":"Em &quot;Seguran\u00e7a Digital&quot;","block_context":{"text":"Seguran\u00e7a Digital","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/seguranca-digital\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":304,"url":"https:\/\/eliezerladeira.com.br\/blog\/guia-pratico-de-html\/","url_meta":{"origin":183,"position":4},"title":"Guia Pr\u00e1tico de HTML","author":"admin","date":"","format":false,"excerpt":"[ratings] SOBRE O HTML O HTML \u00e9 uma linguagem de marca\u00e7\u00e3o de texto. Mais especificamente, uma linguagem de marca\u00e7\u00e3o de hipertexto. Portanto, antes de come\u00e7ar a falar de HTML, vamos entender o que vem a ser uma linguagem de marca\u00e7\u00e3o. Linguagens de marca\u00e7\u00e3o (markup languages, em ingl\u00eas) s\u00e3o linguagens que\u2026","rel":"","context":"Em &quot;Inform\u00e1tica&quot;","block_context":{"text":"Inform\u00e1tica","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/informatica\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4343,"url":"https:\/\/eliezerladeira.com.br\/blog\/servico-de-blog-gratuito-wordpress-sofre-invasao-de-hackers\/","url_meta":{"origin":183,"position":5},"title":"Servi\u00e7o de blog gratuito WordPress sofre invas\u00e3o de\u00a0hackers","author":"admin","date":"","format":false,"excerpt":"Invasores conseguiram acesso total a \u201cv\u00e1rios servidores\u201d do servi\u00e7o de blogs\u00a0WordPress, de acordo com um comunicado escrito por Matt Mullenweg, respons\u00e1vel pelo servi\u00e7o. \u201cPotencialmente qualquer coisa nesses servidores pode ter sido revelada\u201d, escreveu. A Automattic, que opera o servi\u00e7o, ainda est\u00e1 investigando como a invas\u00e3o ocorreu e quais dados podem\u2026","rel":"","context":"Em &quot;Internet&quot;","block_context":{"text":"Internet","link":"https:\/\/eliezerladeira.com.br\/blog\/category\/tecnologia\/internet\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":1,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":185,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions\/185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/media\/184"}],"wp:attachment":[{"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eliezerladeira.com.br\/blog\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}