Redirecionar pagina adicionando parametros como post

813 views
Skip to first unread message

Miguel Silva

unread,
Nov 6, 2009, 5:33:15 PM11/6/09
to django...@googlegroups.com
Olá a todos,

Preciso que quando uma pessoa acesse uma determinada url ela seja redirecionada para um outro endereço passando um parametro com o metodo post.
Só consegui achar soluções que utilizavam javascript[1]. Gostaria de saber se é possivel fazer isso utilizando somente o Django, algo como um HttpResponseRedirect que permita adicionar parametros como post.


[1] http://stackoverflow.com/questions/1345892/external-django-redirect-with-post-parameters

Desde já agradeço.



Gustavo Henrique

unread,
Nov 7, 2009, 4:28:06 PM11/7/09
to django...@googlegroups.com
nesse mesmo site que voce postou ha o seguinte comentario:

"It is not possible to redirect using POST parameters (which don't go
in the URL) - this is a restriction of HTTP, not Django."

ou seja, o que voce quer fazer não é possivel devido à uma restricao
do protocolo http e nao do django.

então vai ser necessario usar uma maneira alternativa para conseguir
chegar ao seu objetivo. o que voce precisa na verdade?
há a lib urlib que permite enviar dados via post para uma URL, porem
nao redireciona a pagina.
se voce postar a logica do seu problema talvez possamos ajudar melhor
pensando em outra forma de resolver.

t+

--
Gustavo Henrique
blog.gustavohenrique.net

Herberth Amaral

unread,
Nov 7, 2009, 4:44:38 PM11/7/09
to django...@googlegroups.com
Colocar esses dados que vc mandaria por post numa sessão não resolveria o problema?

2009/11/7 Gustavo Henrique <gusta...@gmail.com>

Miguel Silva

unread,
Nov 8, 2009, 5:21:34 AM11/8/09
to django...@googlegroups.com
No meu caso não resolveria, meu problema é que eu preciso integrar meu sistema em Django com um outro sistema on-line em asp, este sistema em asp é hospedado por outra empresa, ao qual não tenho nenhum tipo de acesso aos fontes.
E as instruções para que eu faça a integração são que eu tenho que enviar um post de uma string xml criptografada com algumas informações do usuario, para assim ele conseguir ir de um sistema para o outro sem ter que efetuar o login no outro sistema.

2009/11/7 Herberth Amaral <herbert...@gmail.com>

Vinicius Mendes

unread,
Nov 8, 2009, 8:52:03 AM11/8/09
to django...@googlegroups.com
O python tem um lib chamada httplib[1].

import httplib
con = httplib.HTTPConnection('www.meiocodigo.com')
con.request('POST', '/pegar_dados/')
response = con.get_response()
con.close()

[1] http://docs.python.org/library/httplib.html

───────────────────
Vinícius Mendes
Engenheiro de Computação
http://meiocodigo.com


2009/11/8 Miguel Silva <mig...@iced3d.com>

paulo....@gmail.com

unread,
Nov 8, 2009, 10:23:09 AM11/8/09
to django...@googlegroups.com

Enviado do meu BlackBerry® da TIM


From: Miguel Silva <mig...@iced3d.com>
Date: Sun, 8 Nov 2009 08:21:34 -0200
Subject: [django-brasil] Re: Redirecionar pagina adicionando parametros como post

marcos thomaz

unread,
Nov 8, 2009, 12:46:03 PM11/8/09
to django...@googlegroups.com
Ou poderia renderizar um form que contenha os campos e dar um submit pelo javascript no onload do documento.


De: Vinicius Mendes <vbme...@gmail.com>
Para: django...@googlegroups.com
Enviadas: Domingo, 8 de Novembro de 2009 11:52:03
Assunto: [django-brasil] Re: Redirecionar pagina adicionando parametros como post


Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - Celebridades - Música - Esportes

Vinicius Mendes

unread,
Nov 8, 2009, 12:50:29 PM11/8/09
to django...@googlegroups.com


───────────────────
Vinícius Mendes
Engenheiro de Computação
http://meiocodigo.com


2009/11/8 marcos thomaz <marcos...@yahoo.com.br>

Ou poderia renderizar um form que contenha os campos e dar um submit pelo javascript no onload do documento.


Não sei por que isso me pareceu uma baita duma gambiarra...
 

Gustavo Henrique

unread,
Nov 8, 2009, 1:19:23 PM11/8/09
to django...@googlegroups.com
Se a url de destino fornecer uma resposta com dados uteis, pode usar a
urllib ou httplib como o Vinicius falou. se não, acho que qualquer
coisa a ser feita vai ser uma gambiarra.


--
Gustavo Henrique
blog.gustavohenrique.net

Herberth Amaral

unread,
Nov 8, 2009, 4:13:15 PM11/8/09
to django...@googlegroups.com


2009/11/8 marcos thomaz <marcos...@yahoo.com.br>

Ou poderia renderizar um form que contenha os campos e dar um submit pelo javascript no onload do documento.


E se o javascript não tiver habilitado? Mais fácil dar um post na página através da lib de http e exibir o conteúdo retornado por ela... (sim, é gambiarra... mas no contexto do problema, eu não vejo soluções muito diferentes :)

Vinicius Mendes

unread,
Nov 8, 2009, 10:21:12 PM11/8/09
to django...@googlegroups.com
Eu não acho que fazer a requisição por uma lib do python seja gambiarra não... Pelo menos é assim que eu faço a comunicação das minhas aplicações com webservices...


───────────────────
Vinícius Mendes
Engenheiro de Computação
http://meiocodigo.com


2009/11/8 Herberth Amaral <herbert...@gmail.com>
Reply all
Reply to author
Forward
0 new messages