- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
require 'net/http'
require 'uri'
Net::HTTP.get_print URI.parse('https://forums.malwarebytes.org/index.php?showtopic=49893')
我收到如下错误:c:/ruby/lib/ruby/1.8/net/protocol.rb:133:in sysread': 到达文件末尾 (EOFError)
rbuf_fill' 来自 c:/ruby/lib/ruby/1.8/timeout.rb:56:in
来自 c:/ruby/lib/ruby/1.8/net/protocol.rb:133:intimeout'
timeout' 来自 c:/ruby/lib/ruby/1.8/net/protocol.rb:132:in
来自 c:/ruby/lib/ruby/1.8/timeout.rb:76:inrbuf_fill'
readuntil' 来自 c:/ruby/lib/ruby/1.8/net/protocol.rb:126:in
来自 c:/ruby/lib/ruby/1.8/net/protocol.rb:116:inreadline'
read_status_line' 来自 c:/ruby/lib/ruby/1.8/net/http.rb:2018:in
来自 c:/ruby/lib/ruby/1.8/net/http.rb:2029:inread_new'
request' 来自 c:/ruby/lib/ruby/1.8/net/http.rb:957:in
来自 c:/ruby/lib/ruby/1.8/net/http.rb:1059:inrequest_get'
get_response' 来自 c:/ruby/lib/ruby/1.8/net/http.rb:547:in
来自 c:/ruby/lib/ruby/1.8/net/http.rb:380:instart'
get_response' 来自 c:/ruby/lib/ruby/1.8/net/http.rb:337:in `get_print' 来自 urlparsing1.rb:3
来自 c:/ruby/lib/ruby/1.8/net/http.rb:379:in
最佳答案
我无法在现代 ruby 版本上重现上述行为,但我想我知道是什么原因造成的。
让我们逐步深入了解执行过程:
▶ u = URI.parse('https://forums.malwarebytes.org/index.php?showtopic=49893')
#⇒ #<URI::HTTPS https://forums.malwarebytes.org/index.php?showtopic=49893>
好的,URI
得到了。
▶ Net::HTTP.get_print u
#⇒ <html><head><meta http-equiv='refresh' content='0;
# url=/index.php?/topic/49893-removal-instructions-for-a-fast-antivirus/'>
# </head><body></body></html>=> nil
糟糕。重定向。让我们来处理它:
▶ u_redir = Net::HTTP.get(u).scan(/url=(.*?)'/).first.first
#⇒ "/index.php?/topic/49893-removal-instructions-for-a-fast-antivirus/"
▶ u.path, u.query = u_redir.split '?'
#⇒ [
# [0] "/index.php",
# [1] "/topic/49893-removal-instructions-for-a-fast-antivirus/"
# ]
▶ Net::HTTP.get_print u
#⇒ [HTML CONTENT]
总结:我猜你应该自己处理重定向。
关于ruby - `sysread' : end of file reached (EOFError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425044/
我有一个这样的命令,其中 input 是一个接收输入的字符串: STDIN.sysread(1000,input) 如果它读取超过 100 个字符,则需要超过 0.1 秒。 我用 partialrea
read 和 sysread 有非常相似的文档。两者有什么区别? 最佳答案 关于 read : read支持 PerlIO 层。 read适用于任何 Perl 文件句柄[1]。 read缓冲区。 re
我正在做 sysread在 AIX 5.3 上的 Perl 5.8.2 中。根据文档,sysread 应该在从文件句柄中读取所有读取时给出 0。 在我的场景中,文件句柄是 STDIN 并指向一个套接字
我正在开发一个用 Perl 编写的相当复杂的应用程序。我对这种语言相当有经验,但我只是对此感到困惑。 我正在使用一个模块 Foo,它使用 sysread 和 syswrite 对我传递给其构造函数的文
require 'net/http' require 'uri' Net::HTTP.get_print URI.parse('https://forums.malwarebytes.org/inde
客户端: $socket->autoflush(1); print $socket "abel\n"; print $socket "baker\n"; print $socket "charlie\
我找到了至少 3 种从 perl 中的非阻塞套接字读取数据的方法 $socket->recv $socket->sysread POSIX::read($socket,... 看起来同一个东西有 3
我正在使用 mechanize 抓取一个站点并推送到一个 mysql 数据库。我经常收到这些系统读取错误,但我不确定解决方案是什么。我正在使用 Ruby-mysql gem。 最佳答案 我正在做完全相
我是一名优秀的程序员,十分优秀!