Ir para conteúdo
Fórum Script Brasil

ZueRa

Membros
  • Total de itens

    141
  • Registro em

  • Última visita

Tudo que ZueRa postou

  1. ZueRa

    Method Post (socket)

    Alguém poderia me dar um help ? Grato.
  2. ZueRa

    Method Post (socket)

    Progr'amador mas me diga... como o server vai saber, que estou me referindo EXATAMENTE a aqueles forms ? sendo que não tem nada que "refira de alguma forma" a eles ? Meu code ficou assim: procedure TFzoneh.Button1Click(Sender: TObject); var Ts : TStringList; begin Ts := TStringList.Create; try Ts.Add('blablabla'); Ts.Add('blablabla'); Ts.Add('blablabla'); Ts.Add('blablabla'); IdHttp.Request.ContentType := 'application/x-www-form-urlencoded'; IdHTTP.Post('www.zone-h.org/component/option,com_notify/Itemid,89/',Ts); finally Ts.free; end; end; end. Grato. Acabei de testar... não deu certo =/ acho que tem que fazer alguma referência aos forms...
  3. ZueRa

    Method Post (socket)

    Churc, veja o que um amigo meu disse: • SmartBoy_ & copyleft {zzZZZzz} says: tem uma ferramenta do indy • SmartBoy_ & copyleft {zzZZZzz} says: que bota diretu os dados do post depos é so dar idhttp1.post(url, dados_do_post); sabe algum modo de fazer isso com INDY ? porque nunca trabalhei com ele.... Grato.
  4. ZueRa

    Method Post (socket)

    Uhn.. entendi... vou ver se consigo aqui uma forma... obrigado desde já =)
  5. ZueRa

    Method Post (socket)

    Fiz um teste aqui, mas não deu certo... fiz 2 forms, e 2 ComboBox (como na página citada acima) peguei o código HTML dessa página, coloquei em um Memo (chamado de MemoCode) e coloquei em cada Edit desse código HTML um "#" em ordem crescente... dessa forma: no primeiro edit: # segundo edit: ## no primeiro combobox: ### no segundo combobox: #### pronto, feito isso, ao usuário clicar no botão ok, pedi para substituir o que foi digitado nos edits do programa no lugar dos "#". e utilizei o método POST bem... o código é esse.. (mas não deu certo) procedure TFzoneh.Button1Click(Sender: TObject); begin Cs.Host := 'www.zone-h.org'; Cs.Port := 80; Cs.ClientType := CtNonBlocking; Cs.Active := true; end; procedure TFzoneh.CsConnect(Sender: TObject; Socket: TCustomWinSocket); var datap:string; dataa:string; datab:string; datac:string; st:string; begin datap := stringReplace(Memocode.Text,'#',Eddefacer.Text,[rfReplaceAll]); dataa := stringReplace(Memocode.Text,'##',Eddomain.Text,[rfReplaceAll]); datab := stringReplace(Memocode.Text,'###',Cb.Text,[rfReplaceAll]); datac := stringReplace(Memocode.Text,'####',Cbu.Text,[rfReplaceAll]); with Cs.Socket do begin st := '/component/option,com_notify/Itemid,89/'; Cs.Socket.SendText('POST ' + st + datap + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); Cs.Socket.SendText('POST ' + st + dataa + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); Cs.Socket.SendText('POST ' + st + datab + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); Cs.Socket.SendText('POST ' + st + datac + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); end; end; procedure TFzoneh.CsRead(Sender: TObject; Socket: TCustomWinSocket); begin Mresult.Lines.Add(Socket.ReceiveText); end; end. Obs.: o "Cs" é o ClientSocket. e o "Cb" é o ComboBox. bem... se alguém puder ajudar.. agradeço :D
  6. Galera, estou com uma dúvida em relação ao método POST do (ClientSocket). Por exemplo (EXEMPLO) Em relação ao site abaixo: http://www.zone-h.org/component/option,com_notify/Itemid,89/ (observem os Edits lá em baixo) como poderei fazer para por exemplo, usar o método POST para enviar o que o usuário digitar no programa ? (como se estivesse nessa url, e escrevendo tudo nos edits de lá) Sei que será +/- assim: ClientSocket.Socket.SendText('POST ' + algumacoisa + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); mas.. como integra-lo com o site ? o.O estou perdido... Alguém tem uma idéia ? Grato.
  7. Micheus, mesmo assim, muito obrigado... mas consegui =) Dei uma olhada aqui no code... e consegui ! Fico lhe devendo essa! Grato.
  8. Churc dá um help no meu tópico (Dúvida sobre "pos" e variantes), se puder, agradeço. Abraço.
  9. oAIHEehioaAHIOAOHAIO.... é o seguinte... ao clicar no botão para filtrar os sites, ele filtra, mas só que repete os hosts... o código que você propôs lembra ? procedure TFfiltro.passarrrr; var a,i, fim : Integer; www : string; x:string; begin a := google_api.Form1.mmPesquisa.Lines.Count; for i := 0 to a do begin www := google_api.Form1.mmPesquisa.Lines.Strings[i]; if POS('http://', www) > 0 then begin www := Copy(www, 8, length(www)); // copia a partir do último '/' fim := POS(Eddelimiter.Text, www); if fim > 0 then fim := fim +Length(Eddelimiter.Text); www := Copy(www, 1, fim -1); // **** inclua isto para facilitar o processo *** if (www <> '') and ((Msites.Lines.IndexOf(www) = -1) or // *** se não for encontrado na lista, então adiciona OU not Cbrep.Checked) then // *** se permitir duplicar, então adiciona também Msites.Lines.Add(www); end; end; end; ele não deixa repetir os sites com A MESMA URL.... por exemplo: tenho 3 sites: "www.bol.com.br.com.br"/index1.php "www.bol.com.br"/index2.php "www.bol.com.br"/index3.php e ao clica no botão para filtrar, eles ficam assim: "www.bol.com.br"/ "www.bol.com.br"/ "www.bol.com.br"/ entende ? ele repete a parte que está entre as "" (aspas), ou seja, o host, e não o que está depois dela... deu para entender agora ? o.O Grato.
  10. Acho que não expliquei direito... veja bem... quero eliminar os sites que estão repetidos na mesma URL... não na mesma string... exemplo: www.bol.com.br/index.php?p=aaaabbbbccccc www.bol.com.br/index.php?p=aaaabbbbccccc www.bol.com.br/index.php?p=aaaabbbbccccc www.bol.com.br/index.php?p=aaaabbbbccccc esses seriam os repetidos na mesma string... mas é o mesmo host que está repetindo www.bol.com.br/index.php www.bol.com.br/index.php www.bol.com.br/index.php após a filtragem está repetindo o "www.xxx.com.br", pegou ? Está repetindo os hosts propriamente ditos.... Grato.
  11. Poderia dar outro help aí Micheus ? Grato.
  12. Então.. isso que estou questionando.. ele não funcionou mesmo assim... procedure TFfiltro.passarrrr; var a,i, fim : Integer; www : string; x:string; begin a := google_api.Form1.mmPesquisa.Lines.Count; for i := 0 to a do begin www := google_api.Form1.mmPesquisa.Lines.Strings[i]; if POS('http://', www) > 0 then begin www := Copy(www, 8, length(www)); // copia a partir do último '/' fim := POS(Eddelimiter.Text, www); if fim > 0 then fim := fim +Length(Eddelimiter.Text); www := Copy(www, 1, fim -1); // **** inclua isto para facilitar o processo *** if (www <> '') and ((Msites.Lines.IndexOf(www) = -1) or // *** se não for encontrado na lista, então adiciona OU Cbrep.Checked) then // *** se permitir duplicar, então adiciona também Msites.Lines.Add(www); end; end; end; está copiando muitos sites de mesma HOST (não de mesma URL)...
  13. Micheus, fiz um checkbox aqui, para o usuário escolher o que ele quer, se filtra os repetidos ou não... mas o que está errado aqui: procedure TFfiltro.BtaplicarClick(Sender: TObject); begin if Cbrep.Checked = true then begin passarrrr; end; else Cbrep.Checked = false then Msites.Text := ''; passarrr; limpardelimiter; Btsalvarr.SetFocus; end; end; e na procedure: procedure TFfiltro.passarrrr; var a,i, fim : Integer; www : string; x:string; begin a := google_api.Form1.mmPesquisa.Lines.Count; for i := 0 to a do begin www := google_api.Form1.mmPesquisa.Lines.Strings[i]; if POS('http://', www) > 0 then begin www := Copy(www, 8, length(www)); // copia a partir do último '/' fim := POS(Eddelimiter.Text, www); if fim > 0 then fim := fim +Length(Eddelimiter.Text); www := Copy(www, 1, fim -1); // **** inclua isto para facilitar o processo *** if (www <> '') and // **** não inclui nulos *** (Msites.Lines.IndexOf(www) = -1) then // **** se não for encontrado o site na lista, então adiciona *** Msites.Lines.Add(www); // **** observe que este comando mudou em relação ao outro post end; end; end; não entendi o erro.. =/ pode me ajudar ? Grato.
  14. Mishceus, ficou muito bom... Obrigado pela ajuda ! Atravéz da mesma função, como poderei agora, eliminar os sites repetidos ? Alguém tem alguma idéia ? Grato.
  15. ZueRa

    Dúvida Variável...

    Churc, ficou 10. Valeu, muito obrigado... lhe devo essa ! ;)
  16. ZueRa

    Receber Dados Ii

    Crie um botão, de execução... um memo e o ClientSocket (que está na aba INTERNET) e por exemplo, ponha o código: Cs => é o ClientSocket Cs.Host:='www.utorrent.com'; Cs.Port:=80; Cs.ClientType:=ctNonBlocking; Cs.Active:=TRUE; Ponha o código acima, ao usuário clicar no botão que você criou. No envento OnConnect do Socket, ponha o seguinte comando (essa que é a requisição): var pt:string; begin pt:='/testport.php?port=6969'; Cs.Socket.SendText('GET ' + pt + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); o "pt" é a string do site... bem, feito isso, no evento OnRead do Socket, ponha o seguinte código: Memo.Lines.Add(Socket.ReceiveText); Pronto. Feito tudo isso, o MEMO irá receber o código fonte... Até aí ok ?
  17. ZueRa

    Receber Dados Ii

    Uhm... ele não vai retornar exatamente o que você quer assim do nada. Terás que fazer uma requisição para o servidor e depois filtrar o resultado que quer, em um Memo por exemplo. Abraços.
  18. ZueRa

    Dúvida Variável...

    Churc, vou dar uma testada aqui. Posto o resultado ou falha logo logo... Obrigado por enquanto. Abraço.
  19. ZueRa

    Receber Dados Ii

    Isso.. foi o que eu tinha dito. Defina os valores, após isso, em OnConnect faça ele executar o comando... para depois, você pegar o que lhe interessa. Abraços.
  20. ZueRa

    Mostrar Conteúdo

    Só use o ClientSocket que está na aba INTERNET. Caso não esteja instalado vá em Menu>>Componnent > Install Packages > Add e selecione o Delphi7\bin\dclsockets70.bpl (caso seu delphi seja o 7.0). Vou lhe dar uma idéia de como usar o componente. Primeiro vamos "configurar" ele: Cs => é o componente Socket ok ? Cs.Host:='o_host_que_você_irá_usar'; Cs.Port:=80; Cs.ClientType:=ctNonBlocking; Cs.Active:=TRUE; Após isso, envie uma requisição para o servidor, mais ou menos desse jeito: No evento OnConnect do socket, faça isso: Cs.Socket.SendText('GET ' + ' HTTP/1.1' + chr(13)+chr(10) + 'Host: ' + Cs.Host + chr(13)+chr(10) + 'Accept: */*' + chr(13)+chr(10) + 'Connection: Close' + chr(13)+chr(10)+chr(13)+chr(10)); No evento OnRead faça assim: Memox.Lines.Add(Socket.ReceiveText); ou seja, ele irá receber as informações. Abraço.
  21. ZueRa

    Mostrar Conteúdo

    Uhm.. saquei... você poderia usar um Socket.. atravez do Socket.SendText(); enviando uma requisição para o servidor. E depois, filtrar essa informação, e coloca-la num memo, edit ou qualquer coisa de sua preferência.
  22. ZueRa

    Mostrar Conteúdo

    Mas qual tipo de conteúdo você está se referindo ? Abraços.
  23. Micheus, está funcionando.. mas você não entendeu... o limite, ou seja, a "/" (barra) por exemplo.. o usuário é que decide... ele coloca em um Edit qual o limite que ele quer que os sites sejam filtrados.. porém, o filtro não tá pegando toda a frase.... por exemplo, se o usuário digitar "index.php" o filtro pega somente o primeiro "i", mas, tinha que ser a frase toda.... isso que eu quiz explicar acima Entende ? Grato.
  24. Micheus, funcionou sim... porém estou com outro problema.... o.O Quando troco a "/" por "index.php" por exemplo... veja o que ele faz: site original: http://plasticbugs.com/index.php?p=241 http://www.realclimate.org/index.php?p=181 http://www.realclimate.org/index.php?p=74 http://blogs.zdnet.com/Ou/index.php?p=43 após a modificação: plasticbugs.com/i www.realclimate.org/i www.realclimate.org/i blogs.zdnet.com/Ou/i =/ queria nesse caso que ele delimitasse TUDO que eu digito dentro de um TEdit... Grato.
×
×
  • Criar Novo...