none
tratando uma url e query string RRS feed

  • Pergunta

  • Pessoal, to com um problema chatinho pra resolver, preciso fazer um request em uma url que esta vindo dessa forma

    recebe url do mercado pago: http://dominio.com.br/Retorno.aspx?idloja=10?topic=payment&id=91312555

    bom quando eu faço o request["topic"], ou qualquer outro, ele não encontra. existe alguma forma de eu copiar essa url toda e tirar dela so as variaveis?

    obrigado pela ajuda


    Ricardo Soares

    quinta-feira, 15 de março de 2012 18:56

Respostas

  • Certo Ricardo,

    Neste caso você pode pegar a URL inteira com o :

    Request.Url

    Depois você trata seguinda a idéia abaixo:

    string url = "http://www.somesite.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"; 
    string path = url.Substring(0, url.IndexOf("?")); 


    ou você pode usar o recurso da biblioteca System.Uri:

    Uri url = new Uri("http://www.somesite.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"); 
    string path = String.Format("{0}{1}{2}{3}", url.Scheme,  
        Uri.SchemeDelimiter, url.Authority, url.AbsolutePath); 
    

    • Editado Rafael Reis quinta-feira, 15 de março de 2012 19:35
    • Marcado como Resposta Harley Araujo segunda-feira, 19 de março de 2012 12:32
    quinta-feira, 15 de março de 2012 19:33
  • Ricardo,

    O exemplo do rafael deveria funcionar, porém no seu endereço url de exemplo ( http://dominio.com.br/Retorno.aspx?idloja=10?topic=payment&id=91312555)

    repare que antes do "topic" está como "?" e não como "&" acho que o problema está ai.

    espero que ajude[]´s

    • Sugerido como Resposta Murilo Kunze quinta-feira, 15 de março de 2012 20:21
    • Marcado como Resposta Harley Araujo segunda-feira, 19 de março de 2012 12:32
    quinta-feira, 15 de março de 2012 19:33

Todas as Respostas

  • Boa tarde Ricardo,

    Você deve usar o comando:

    Request.QueryString["topic"]

    • Sugerido como Resposta Marcos M Yoshida quinta-feira, 15 de março de 2012 19:33
    quinta-feira, 15 de março de 2012 19:18
  • Eu ja faço com Request.QueryString ele não encontra essa chave"topic" pq existe uma segunda "?"

    Ricardo Soares

    quinta-feira, 15 de março de 2012 19:23
  • Ricardo,

    O exemplo do rafael deveria funcionar, porém no seu endereço url de exemplo ( http://dominio.com.br/Retorno.aspx?idloja=10?topic=payment&id=91312555)

    repare que antes do "topic" está como "?" e não como "&" acho que o problema está ai.

    espero que ajude[]´s

    • Sugerido como Resposta Murilo Kunze quinta-feira, 15 de março de 2012 20:21
    • Marcado como Resposta Harley Araujo segunda-feira, 19 de março de 2012 12:32
    quinta-feira, 15 de março de 2012 19:33
  • Certo Ricardo,

    Neste caso você pode pegar a URL inteira com o :

    Request.Url

    Depois você trata seguinda a idéia abaixo:

    string url = "http://www.somesite.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"; 
    string path = url.Substring(0, url.IndexOf("?")); 


    ou você pode usar o recurso da biblioteca System.Uri:

    Uri url = new Uri("http://www.somesite.com/mypage.aspx?myvalue1=hello&myvalue2=goodbye"); 
    string path = String.Format("{0}{1}{2}{3}", url.Scheme,  
        Uri.SchemeDelimiter, url.Authority, url.AbsolutePath); 
    

    • Editado Rafael Reis quinta-feira, 15 de março de 2012 19:35
    • Marcado como Resposta Harley Araujo segunda-feira, 19 de março de 2012 12:32
    quinta-feira, 15 de março de 2012 19:33