From: "sekai (sekai kobayashi)" Date: 2013-10-24T20:53:53+09:00 Subject: [ruby-core:58016] [ruby-trunk - Bug #9050][Open] I may have encountered a bug in the Ruby interpreter or extension libraries. Issue #9050 has been reported by sekai (sekai kobayashi). ---------------------------------------- Bug #9050: I may have encountered a bug in the Ruby interpreter or extension libraries. https://bugs.ruby-lang.org/issues/9050 Author: sekai (sekai kobayashi) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 2.0.0 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN I got this message from two different sorce code.(Case1, Case2) and, I recieve wrong http response data.(Case3) ���Case1��� ���code require 'socket' host = "sekai-in-the-box.appspot.com" port = 80 path = "/iseer.html" request = "GET #{path} HTTP/1.0\r\n\r\n" socket = TCPSocket.open(host, port) socket.print(request) response = socket.read headers, body = response.split("\r\n\r\n", 2) print body ���error log please see err_log1.txt -- Control frame information ----------------------------------------------- c:0004 p:---- s:0018 e:000017 CFUNC :write c:0003 p:---- s:0016 e:000015 CFUNC :print c:0002 p:0097 s:0012 E:00034c EVAL C:/Users/IBM_ADMIN/Desktop/net/http1.rb:12 [FINISH] c:0001 p:0000 s:0002 E:001b9c TOP [FINISH] C:/Users/IBM_ADMIN/Desktop/net/http1.rb:12:in `
' C:/Users/IBM_ADMIN/Desktop/net/http1.rb:12:in `print' C:/Users/IBM_ADMIN/Desktop/net/http1.rb:12:in `write' ���Case2��� ���code filename = File.dirname(__FILE__) + File::SEPARATOR+"data1.txt" #File.open(filename){|f| f.read} #<= not error p File.open(filename){|f| f.read} #<= error ���error log please see err_log2.txt -- Control frame information ----------------------------------------------- c:0003 p:---- s:0010 e:000009 CFUNC :p c:0002 p:0052 s:0006 E:0019fc EVAL C:/Users/IBM_ADMIN/Desktop/net/thread_file_read.rb:4 [FINISH] c:0001 p:0000 s:0002 E:001b94 TOP [FINISH] ���Case3��� ���code require 'socket' host = "www.example.com" port = 80 path = "/index.html" request = "GET #{path} HTTP/1.0\r\n\r\n" socket = TCPSocket.open(host, port) socket.print(request) response = socket.read headers, body = response.split("\r\n\r\n", 2) print body ���result C:\Users\IBM_ADMIN>ruby C:\Users\IBM_ADMIN\Desktop\net\http2.rb edgecastcdn.net

edgecastcdn.net

but, http://www.example.com/'s response is not same as I wrote about. -- http://bugs.ruby-lang.org/