weixin_42298561 2008-11-16 11:55
浏览 499
已采纳

Net::HTTP::Proxy doesn't work

想使用Net::HTTP的代理功能访问网页,代码如下

[code="ruby"]require 'net/http'

proxy_addr = '12.161.250.205'
proxy_port = 1080

url = URI.parse('http://www.iteye.com')
res = Net::HTTP::Proxy(proxy_addr , proxy_port ).start(url.host, url.port) {|http|
http.get('/')
}[/code]

结果报错如下:

c:/ruby/lib/ruby/1.8/net/protocol.rb:135:in sysread': end of file reached (EOFE
rror)
from c:/ruby/lib/ruby/1.8/net/protocol.rb:135:in
rbuf_fill'
from c:/ruby/lib/ruby/1.8/timeout.rb:62:in timeout'
from c:/ruby/lib/ruby/1.8/timeout.rb:93:in
timeout'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:134:in rbuf_fill'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:116:in
readuntil'
from c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in readline'
from c:/ruby/lib/ruby/1.8/net/http.rb:2020:in
read_status_line'
from c:/ruby/lib/ruby/1.8/net/http.rb:2009:in read_new'
from c:/ruby/lib/ruby/1.8/net/http.rb:1050:in
request'
from c:/ruby/lib/ruby/1.8/net/http.rb:772:in get'
from web1.rb:22
from c:/ruby/lib/ruby/1.8/net/http.rb:543:in
start'
from c:/ruby/lib/ruby/1.8/net/http.rb:440:in `start'
from web1.rb:21

Thanks in Advance

  • 写回答

2条回答 默认 最新

  • RubyOmniBus 2008-11-20 16:02
    关注

    程式碼十分正常。試試用telnet,駁上proxy,取檔有沒有問題。

    $ telnet 12.161.250.205 1080
    GET http://www.java.com/ http/1.1

    按兩下Enter。看看結果是否正常。

    若是生產用,試用begin/rescue/end來補救錯誤。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误