none
Abrir link com VB RRS feed

  • Pergunta

  • Olá pessoal, preciso fazer o VB, acessar um link, este por exemplo: http://www.google.com.br. Mas quero enviar dados usando "Method: POST". Como o nome de usuário e a senha.
    sexta-feira, 27 de janeiro de 2012 23:49

Respostas

Todas as Respostas

  • sábado, 28 de janeiro de 2012 01:02
  • Não deu certo, eu quero fazer que nem este código:

    Process.Start("http://www.tecnewsoft.pcriot.com")
    


    Fazer parecido com este mais que envie dados junto com o link.

    Se fosse com o método GET eu só colocava na frente do link os dados, mas como é senha eu preciso usar o método POST.

    segunda-feira, 30 de janeiro de 2012 02:57
  • Jhonas,

    por que tem que ser desse jeito? A solução apresentada no link não lhe serve?

    segunda-feira, 30 de janeiro de 2012 03:14
  • Não precisa ser deste jeito, eu só dei um exemplo por que o código que você me enviou não funcionou, ou talvez eu não tenha arrumado direito.
    segunda-feira, 30 de janeiro de 2012 20:30
  • Poste o que tentou fazer.
    segunda-feira, 30 de janeiro de 2012 21:44
  • Primeiro eu converti este código que estava em C#:

    private string HttpPost(string URI, string Parameters) 
    {
       System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
       req.Proxy = new System.Net.WebProxy(ProxyString, true);
       req.ContentType = "application/x-www-form-urlencoded";
       req.Method = "POST";
       byte [] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
       req.ContentLength = bytes.Length;
       System.IO.Stream os = req.GetRequestStream ();
       os.Write (bytes, 0, bytes.Length); 
       os.Close ();
       System.Net.WebResponse resp = req.GetResponse();
       if (resp== null) return null;
       System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
       return sr.ReadToEnd().Trim();
    }
    


    Depois da conversão ficou assim:

    Private Function HttpPost(URI As String, Parameters As String) As String
    	Dim req As System.Net.WebRequest = System.Net.WebRequest.Create(URI)
    	req.Proxy = New System.Net.WebProxy(ProxyString, True)
    	req.ContentType = "application/x-www-form-urlencoded"
    	req.Method = "POST"
    	Dim bytes As Byte() = System.Text.Encoding.ASCII.GetBytes(Parameters)
    	req.ContentLength = bytes.Length
    	Dim os As System.IO.Stream = req.GetRequestStream()
    	os.Write(bytes, 0, bytes.Length)
    	os.Close()
    	Dim resp As System.Net.WebResponse = req.GetResponse()
    	If resp Is Nothing Then
    		Return Nothing
    	End If
    	Dim sr As New System.IO.StreamReader(resp.GetResponseStream())
    	Return sr.ReadToEnd().Trim()
    End Function
    

    Depois disso, não consegui fazer nada. Tinha um outro código acima mas também não deu certo. Para resumir, eu não sei nada de programação, somente o básico. Tudo que eu faço é com partes de outros códigos, que eu arrumo para funcionar do meu jeito.

    terça-feira, 31 de janeiro de 2012 02:20
  •  Tudo que eu faço é com partes de outros códigos, que eu arrumo para funcionar do meu jeito.

    Aí está o erro.

    A função você chama assim:

    HttpPost("aqui vai o site","aqui vão os dados")
    

    terça-feira, 31 de janeiro de 2012 02:26
  • Eu fiz assim do jeito que você falou, mas tem um erro: 'ProxyString' is not declared. It may be inaccessible due to its protection level.

    E outra coisa como eu coloco os dados?

    • Editado Jhonas Boeno quinta-feira, 2 de fevereiro de 2012 12:59
    terça-feira, 31 de janeiro de 2012 12:53
  • Olá Jhonas!

    Agora ficou mais fácil, veja:

    req.Proxy = New System.Net.WebProxy(ProxyString, True)

    O que é o ProxyString?

    Ele poderia ser:

    Dim ProxyString As String = " http://www.google.com.br"

    Veja um exemplo:

    Dim proxyObject As New WebProxy("http://proxyserver:80/", True)
    Dim req As WebRequest = WebRequest.Create("http://www.contoso.com")
    req.Proxy = proxyObject

    Documento:http://msdn.microsoft.com/en-us/library/system.net.webproxy.aspx#Y2100 

    att;


    Eder Costa
    LATAM Forum Support Engineer
    Microsoft Corporation
    forumguys


    quinta-feira, 9 de fevereiro de 2012 13:34
    Moderador