Ir para o conteúdo
NameException

Ruby Proxy and WebDav

Mensagens Recomendadas

NameException    0
NameException

Bom dia,

Estou com um problema, que nem sei se o saberei explicar convenientemente... ;)

Preciso de aceder a um servidor WebDav, através um proxy, para fazer upload e download de ficheiros. O problema reside, em efectuar a autenticação

no servidor WebDav utilizando a ligação ao proxy, ou seja, utilizando uma ligação HTTPS. Para simular a ligação ao proxy, estou a usar o Proxomitron.

Eis um exemplo:

  require 'rubygems'
  require 'net/http'
  require 'net/https'
  require 'uri'
  require 'net/dav'
  
  #proxy config
  proxy_host = 'localhost' 
  proxy_port = 8080
  
  uri = URI.parse("https://www.paypal.com")
  res = Net::HTTP.Proxy(proxy_host,proxy_port).start(uri.host) { |http|           
      puts http.get('/')
  } 

 

Retorna no log do Proxomitron:

+++GET+++
Using Proxy - (-------proxy---------):8080
GET http://www.paypal.com/ HTTP/1.1
Accept: */*
Host: www.paypal.com
Connection: keep-alive
Proxy-Authorization: Basic T3B0aW11c1xHTVJvY2hhOkV4cG8xMjkwJA==

+++RESP+++
HTTP/1.1 301 Moved Permanently
Via: 1.1 (...........)
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Wed, 11 Jan 2012 10:39:48 GMT
Location: https://www.paypal.com/
Content-Type: text/html
Server: Apache
X-Frame-Options: SAMEORIGIN
Set-Cookie: cwrClyrK4LoCV1fydGbAxiNL6iG=%7cNe7HoaIa-CY7qKt_19hlgIqart_cSO9cFlfa74Wt-P7K-acs9TWyHGWk5eCPTz9vJDH9v0%7ciwz2QwnqH7-zd-_C_vmqhyuTm6_uEkLUgGPsSdjiinsHtuCHtWHyII1Osc6_rgyp-Dua5m%7c; domain=.paypal.com; path=/; HttpOnly
Set-Cookie: cookie_check=yes; expires=Sat, 08-Jan-2022 10:39:48 GMT; domain=.paypal.com; path=/; HttpOnly
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100

O que indica que a ligação em https, passou pelo proxy.

No entanto, se tentar conectar ao servidor de WebDav, que requer autenticação, não sei como fazer a autenticação usando a ligação ao proxy.

Obviamente, terei de fazer a autenticação, antes de fazer o get e após a ligação ao proxy, mas aí está o problema!!!! :cheesygrin:

No Proxomitron, obtenho o seguinte:

+++GET +++
Using Proxy - (-----proxy----):8080
GET (----WebDav----) HTTP/1.1
Accept: */*
Host: (----WebDav----)
Connection: keep-alive
Proxy-Authorization: Basic T3B0aW11c1xHTVJvY2hhOkV4cG8xMjkwJA==

+++RESP +++
HTTP/1.1 504 Proxy Timeout ( The connection timed out.  )
Via: 1.1 (........)
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 4217 

Se tentar ligar via browser, este é o tipo de ligação que requer:

login1p.png

 

Alguma ideia?

Obrigado.

Cumprimentos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade