# Http net PUT

**URL:** <https://www.ruby-forum.com/t/http-net-put/148896>\
**Category:** Ruby\
**Created:** [September 18, 2008, 4:05am UTC](https://www.ruby-forum.com/t/http-net-put/148896 "2008-09-18T04:05:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![macarthy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/71c47a/32.png) [@macarthy](https://www.ruby-forum.com/u/macarthy)\
**Post date:** [September 18, 2008, 4:05am UTC](https://www.ruby-forum.com/t/http-net-put/148896/1 "2008-09-18T04:05:48Z")

</div>

i’m trying to mimic a curl command Im using in ruby

curl -T file [https://url](https://url)

and here is want I’m using in ruby

myfile = File.read(“test.txt”)  
url = URI.parse(uploadUrl)  
Net::HTTP.version\_1\_1

conn = Net::HTTP.new(url.host )  
conn.verify\_mode = OpenSSL::SSL::VERIFY\_NONE  
conn.set\_debug\_output $stderr  
conn.use\_ssl=(true)

response = conn.start do |http|  
http.set\_debug\_output $stderr  
req = Net::HTTP::Put.new( path )  
http.request(req, myfile)

end

What am I doing wrong ?

---

<div class="post-metadata">

**Author:** ![macarthy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/71c47a/32.png) [@macarthy](https://www.ruby-forum.com/u/macarthy)\
**Post date:** [September 18, 2008, 2:45pm UTC](https://www.ruby-forum.com/t/http-net-put/148896/2 "2008-09-18T14:45:18Z")

</div>

not exactly what you want but close and i know it works…

```
        response_header = {"Content-type" => "text/xml"}
        response_header.merge headers
        ht =Net::HTTP.start(self.host,self.port)
        url = self.url # + "/" + self.topic
         puts "posting to: #{self.host}: #{self.port} #{url}

```

message: #{msg.to\_xml}"  
r=ht.post(url,msg.to\_xml,response\_header)

```
        puts "result: #{r.to_s}"
        r
```
