Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patrique

[Resolvido] Caractere # atrapalhando

Recommended Posts

Fala ae galera, estou aqui fazendo uns testes e me deparei com um probleminha sinistrinhoooo.....

 

Vamos supor que eu esteja querendo chamar esta url abaixo

 

http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil'>http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil

E utiliza-la no meu sistema, então eu posso utilizar

 

Session

Application

Request

 

So que o problema quando eu tento utilizar estas funções para guardar a url as mesmas iguinoram o # e o que esta em seguida dele, no caso o resultado fica assim

 

http://forum.imasters.com.br

e o certo seria assim

 

http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil'>http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil

O ingraçado é que quando eu tento através de uma string e jogo os dados da url sem resgatalos o resultado sai completo

 

Segue o exemplo de um code que eu fiz para que você possam ter uma melhor idéia

 

<%
'Exemplo http://localhost/teste.asp?url=http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil'>http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil

url = Request.QueryString("url")

Application("urlapplication") = url
Session("urlsession") = url
Response.Cookies("urlcookie") = url

response.write "Resultado com request querystring:<strong> " & url &"</strong>"
response.write "<br>"
response.write "Resultado com application:<strong> " & Application("urlapplication") &"</strong>"
response.write "<br>"
response.write "Resultado com session:<strong> " & Session("urlsession") &"</strong>"
response.write "<br>"
response.write "Resultado com Request Cookie:<strong> " & Request.Cookies("urlcookie") &"</strong>"

normal = "http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil'>http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil"

Response.Write "<br><br>"
Response.Write "Resultado com string sem resgata-lo:<strong> " & normal &"</strong>"
%>

Aguém ae sabe como resolver isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse caracter nao é usado apenas para ancora?

 

tenta o seguinte

se você der um response.write (url) ele mostra o caracter?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai desisto ele so ira mostrar este caracter se eu colocar o endereço dentro do code em uma string assim olha

 

url = "http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil"

 

dai eu dou um response write e ele me mostra o endereço certinho assim olha

 

http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil

O problema é quando eu tento guardar esta url para usar em uma outra parte do site e é nisso que eu não estou conseguindo fazer funfar pois quando eu guardo através de session, cookie, application acontesse este erro.

 

fico no aguardo, obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais será que não teria uma solução para resolver este problema, pois senão eu estou ferrado, já procurei por alguma gambiarra, mais até agora não encontrei nada.... ta fod@ esta bagaceira.

 

[]'s

Patrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

para efeito de armazenamento, você pode dar um replace no # e quando for exibi-la volta-la ao normal...

 

da uma olhada nesta função:

 

<%
Private Function URLDecode(byVal encodedstring)
Dim strIn, strOut, intPos, strLeft
Dim strRight, intLoop
strIn  = encodedstring : strOut = _
  "" : intPos = Instr(strIn, "+")
Do While intPos
 strLeft = "" : strRight = ""
 If intPos > 1 then _
  strLeft = Left(strIn, intPos - 1)
 If intPos < len(strIn) then _
  strRight = Mid(strIn, intPos + 1)
 strIn = strLeft & " " & strRight
 intPos = InStr(strIn, "+")
 intLoop = intLoop + 1
Loop
intPos = InStr(strIn, "%")
Do while intPos
 If intPos > 1 then _
  strOut = strOut & _
   Left(strIn, intPos - 1)
 strOut = strOut & _
  Chr(CInt("&H" & _
   mid(strIn, intPos + 1, 2)))
 If intPos > (len(strIn) - 3) then
  strIn = ""
 Else
  strIn = Mid(strIn, intPos + 3)
 End If
 intPos = InStr(strIn, "%")
Loop
URLDecode = strOut & strIn
End Function
%>

<% = URLDecode( Server.URLEncode( "@ can't find ... that & this?" ) ) %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar uma "solução técnica alternativa" usando a ServerVariable Query_String.

Faça um teste básico:

Response.Write Request.ServerVariable("QUERY_STRING")

E veja se ele não exibe tudo o que está após a "?" de sua URL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ae pessoal, pow valeu ae pela ajuda, mais não funfou, ja tentei de tudo, ja havia tentado da o replace # mais não deu certo, também utilizei e testei as 2 funções passadas mais também não funfou, ta dificil, ta sinistro.

 

Fico ainda no aguardo de idéias e ajuda, muito obrigado, valew.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patrique estrela, o request que passei não retornou nada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow.... eu ja estou com este problemão... e você ainda quer fazer piadinha com meu nome :(

 

huauahuauhahuahaua

 

Pow salgado, o resultado que me é retornado é este abaixo assim como os outros métodos que eu utilizei anteriormente

 

url=http://forum.imasters.com.br/

Se eu retiro o # a url me é apresentada correntamente assim

 

http://forum.imasters.com.br/#webmasters/id=o-maior-site-para-webmasters-do-brasil

Fico no aguardo, Salgado de frango

 

huauhauhauhahuahuahauhauhauhauh

Compartilhar este post


Link para o post
Compartilhar em outros sites

sem querer meter o nariz no seu codigo... mas ja metendo :)

que url seria essa?

a unica coisa que se usa a # é pra 'ancorar' os links

você pretende cadastrar a url ancorada pra um ponto especifico da pagina?

 

---------------------------

 

cheguei a conclusao de que é isso que falei mesmo, é parametro de ancora

ele vai procurar essa ancora 'webmasters/id=o-maior-site-para-webmasters-do-brasil'

 

testa esse codigo

 

acessa:

http://localhost/teste.asp?x=http://forum....sters-do-brasil

 

<%
a = request.QueryString("x")
response.Write a
%>

<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

<a name="webmasters/id=o-maior-site-para-webmasters-do-brasil">ancora</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Desisto, beleza.

 

Cara eu irei urilizar estes parametros para pegar informações sobre os videos no uol

 

Olha so como é a url deles

 

http://tvuol.uol.com.br/#view/id=show-voando-no-trapzio--0402326EC8A92326/user=qgd90wma6gzo/date=2008-10-29&&list/type=search/name=Resultado%20da%20busca%3A%20voadores/q=voadores/

Todas as urls deles veem com este # maldito heheheeh

 

Testei aqui o seu code e não funfou me retornou

 

http://forum.imasters.com.br/

 

e não a url completa

 

valew, fico no aguardo! por favor help-MMEEEEEEEEE

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que eu postei nao retorna nada :)

ele apenas vai pro final da pagina como se você tivesse clicado num link com ancora

ai la no fina da pagina tem essa ancora

<a name="webmasters/id=o-maior-site-para-webmasters-do-brasil">ancora</a>

que ele deve interpretar como um link ancorado

 

 

esses link, quem cadastra?

você ou os usuarios?

 

ha...

nao esqueca que muito provavelmente o uol nao usa asp na pagina :)

é bem provavel que seja um tipo de url amigavel ou outra linguagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será os usuários, mais será através de um plugin nos navegadores, ou seja ele vai em algum site brasileiro de videos e se gostar do video poderar clicar com o botão direito da página e surgira uma opção nas opções com o link, cadastrar vídeo, dai o usuário ira cadastrar e o sistema fara tudo automaticamente, portanto quem vai dar o comando será o usuário, porém este plugin ira fazer o processo de reconhecer o site e o endereço do vídeo e a partir disso cadastrar no sistema.

 

valew!

 

Fico no aguardo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi

 

nao sei se isso ajuda muito, mas olha so

 

esse é o link final na url:

http://tvuol.uol.com.br/#view/id=show-voan...res/q=voadores/

 

e esse e o link que tem nas paginas:

http://tvuol.uol.com.br/permalink/?view/id...res/q=voadores/

 

a tralha nao esta no link, ela aparece depois que redireciona

 

 

vamos comecar

o plugin que você se refere é tipo

delicious, yahoo my web, google bookmarks...?

 

como a pessoa vai colocar o plugin no site pra poder enviar a pagina?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desisto em relação a este link, eu ja estava ciente porém de qualquer forma eu teria que lidar com o link que tem o # pois é este link que é apresentado ao usuário.

 

O plugin será um addon do navegador

 

Vamos supor que o usuário esteja vendo um vídeo no youtube por exemplo, caso ele queira enviar este vídeo para o meu sistema basta ele clicar com o botão direito na pagina do vídeo e surgira nas opções do menu que aparece uma opção chamada cadastrar vídeo, com isso o plugin ira fazer apenas um processo.

 

Abrir uma popup e apontar qual foi a página do video

 

O endereço da popup que abrira na tela será mais ou menos assim

 

http://site/get/?http://http://www.youtube...h?v=b_77H0EXYcM

 

Com isso a partir disso o meu sistema ira verificar se a url é verdadeira e se o site aonde o vídeo esta é compativel, caso for ele ira montar as informações do vídeo como descrição, imagem e cadastrar no meu sistema, juntamente com as informações de quem postou.

 

Fico no aguardo, pow testei com todos os caracteres possiveis e este problema so ocorre com # ta brabo....

 

Também acabei de tentar fazer um replace no # com o %23 que é o decode do # mais também não funfou.

 

Fico no aguardo

 

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu nao sei como funciona um addon no navegador, mas você tera que tratar esse caracter (#) no proprio add e nao no request...

 

você ta trabalhando a variavel depois de passar pelo add certo?

acho que você pode tratar antes de enviar para a pagina que resgata

 

clicou no add - tratou a variavel - mandou pra pagina pra gravar a informacao

 

entendeu como 'pode ser' que funcione?

como nao entendo nao posso dizer que va funcionar, mas ha chances

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi desisto, a função que faz o addon reconhecer qual foi a pagina que partiu a solicitação para cadastrar o vídeo é esta

 

escape(parentwin.location.href)

Vou ver se eu consigo alguma função que faz o tratamento desta budega, porém eu ainda não acredito que o asp age desta maneira... poxxa.... que doidera, mais beleza vou ver se consigo fazer alguma coisa aqui.

 

Valew ae pela atenção cara, obrigado.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixando o 'problema' do asp nao interpretar #, você deve fazer algumas verificacoes no add antes de enviar a pagina

 

ao meu ver isso nao é problema da linguagem, tendo em vista que # so serve de parametro como ancora e nao de variavel, nem se trata de um caracter especial, senao nunca conseguiriamos ancorar um link

pelo que parece quem interpreta isso é o navegador

 

 

deixa o topico como aberto, quem sabe alguem nao consegue alguma solucao

abracos e boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.