Fórum Method Post (socket) #329965
23/09/2006
0
Galera, estou com uma dúvida em relação ao método POST do (ClientSocket).
Por exemplo (EXEMPLO)
Em relação ao site abaixo:
[url=http://www.zone-h.org/component/option,com_notify/Itemid,89/]http://www.zone-h.org/component/option,com_notify/Itemid,89/[/url]
(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:
mas.. como integra-lo com o site ? o.O
estou perdido...
Alguém tem uma idéia ?
Grato.
Por exemplo (EXEMPLO)
Em relação ao site abaixo:
[url=http://www.zone-h.org/component/option,com_notify/Itemid,89/]http://www.zone-h.org/component/option,com_notify/Itemid,89/[/url]
(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.
Zuera
Curtir tópico
+ 0
Responder
Posts
23/09/2006
Zuera
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)
[b:a802825ad9]Obs.: o ´Cs´ é o ClientSocket.
e o ´Cb´ é o ComboBox.[/b:a802825ad9]
bem... se alguém puder ajudar.. agradeço :D
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.
[b:a802825ad9]Obs.: o ´Cs´ é o ClientSocket.
e o ´Cb´ é o ComboBox.[/b:a802825ad9]
bem... se alguém puder ajudar.. agradeço :D
Responder
Gostei + 0
23/09/2006
Zuera
Perguntei a um amigo, e ele me disse o seguinte:
[b:acc1f83cac]• SmartBoy_ & copyleft says:
tem uma ferramenta do indy
• SmartBoy_ & copyleft says:
que bota diretu os dados do post
depos é so dar
idhttp1.post(url, dados_do_post);[/b:acc1f83cac]
sabe algum modo de fazer isso com INDY ? ou com o Socket.. tanto faz
porque nunca trabalhei com ele....
Grato.
[b:acc1f83cac]• SmartBoy_ & copyleft says:
tem uma ferramenta do indy
• SmartBoy_ & copyleft says:
que bota diretu os dados do post
depos é so dar
idhttp1.post(url, dados_do_post);[/b:acc1f83cac]
sabe algum modo de fazer isso com INDY ? ou com o Socket.. tanto faz
porque nunca trabalhei com ele....
Grato.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)