# IO::write() throws Invalid Argument with HTTP::get()

**URL:** <https://www.ruby-forum.com/t/io-write-throws-invalid-argument-with-http-get/128733>\
**Category:** Ruby\
**Created:** [February 11, 2008, 4:22am UTC](https://www.ruby-forum.com/t/io-write-throws-invalid-argument-with-http-get/128733 "2008-02-11T04:22:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![chriscole](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/5fc32e/32.png) [@chriscole](https://www.ruby-forum.com/u/chriscole)\
**Post date:** [February 11, 2008, 4:22am UTC](https://www.ruby-forum.com/t/io-write-throws-invalid-argument-with-http-get/128733/1 "2008-02-11T04:22:38Z")

</div>

Hi everyone,

I have a \<15 line snippet below that fails when downloading a particular  
60+MB file. I have tested it with other files \>60MB and it works. This  
one in particular is gives me trouble everytime. Any help is greatly  
appreciated. -Chris

* * *

#!/bin/ruby

url = ‘[http://blog.vuzit.com/07EarlyYears.pdf](http://blog.vuzit.com/07EarlyYears.pdf)’  
uri = URI.parse(url)

Net::HTTP.start(uri.host, 80) do |http|  
response = http.get(uri.path)  
mystr = response.body.to\_s

## File.open(‘result’, ‘wb’) {|f| count = f.write mystr } end

[2152] [c@insomnio:~/hovitate/trunk/vuzit]  
$ ruby test-dload.rb  
test-dload.rb:11:in `write': Invalid argument - result (Errno::EINVAL) from test-dload.rb:11 from test-dload.rb:10:in `open’  
from test-dload.rb:10  
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 test-dload.rb:6
