# Looking for a net/http example

**URL:** <https://www.ruby-forum.com/t/looking-for-a-net-http-example/134961>\
**Category:** Ruby\
**Created:** [April 16, 2008, 5:17pm UTC](https://www.ruby-forum.com/t/looking-for-a-net-http-example/134961 "2008-04-16T17:17:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![aginghipster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e9c0ed/32.png) [@aginghipster](https://www.ruby-forum.com/u/aginghipster)\
**Post date:** [April 16, 2008, 5:17pm UTC](https://www.ruby-forum.com/t/looking-for-a-net-http-example/134961/1 "2008-04-16T17:17:20Z")

</div>

Hey folks, I am hoping someone can post a quick net/http example which  
illustrates a POST method call with multipart/related content, I think I  
am confused as to which info is specified in the headers and which is  
passed as data, an example would really hep and I’d be very grateful.

Thanks,  
Andy

---

<div class="post-metadata">

**Author:** ![aginghipster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e9c0ed/32.png) [@aginghipster](https://www.ruby-forum.com/u/aginghipster)\
**Post date:** [April 16, 2008, 5:37pm UTC](https://www.ruby-forum.com/t/looking-for-a-net-http-example/134961/2 "2008-04-16T17:37:27Z")

</div>

Hi,  
----- Original Message -----  
From: “Andrew C.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: “ruby-talk ML” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Thursday, April 17, 2008 12:15 AM  
Subject: Looking for a net/http example

> Hey folks, I am hoping someone can post a quick net/http example which  
> illustrates a POST method call with multipart/related content, I think I  
> am confused as to which info is specified in the headers and which is  
> passed as data, an example would really hep and I’d be very grateful.
> 
> Thanks,  
> Andy

Here is some code snippet from gmailer.rb

```
       postdata = {}
       postdata["msgbody"] = stripslashes(body)
       postdata["from"] = stripslashes(from) if from
       postdata["to"] = stripslashes(to)
       postdata["subject"] = stripslashes(subject)
       postdata["cc"] = stripslashes(cc)
       postdata["bcc"] = stripslashes(bcc)

       boundary = 

```

“----#{Time.now.to\_i}#{(rand(2000)\*2147483.648).to\_i}”  
postdata2 = []  
postdata.each {|k,v|  
postdata2.push(“Content-Disposition: form-data;  
name="#{k}"\r\n\r\n#{v}\r\n”)  
}

```
       files.each_with_index do |f,i|
          content = File.open(f,'rb') { |c| c.read }
          postdata2.push("Content-Disposition: form-data; 

```

name="file#{i}"; filename="#{File.basename(f)}"\r\n" +  
“Content-Transfer-Encoding: binary\r\n” +  
“Content-Type: application/octet-stream\r\n\r\n” +  
content + “\r\n”)  
end

```
       postdata = postdata2.collect { |p|
             "--" + boundary + "\r\n" + p
       }.join('') + "--" + boundary + "--\r\n"

       np = 

```

Net::HTTP::Proxy(@proxy\_host,@proxy\_port,@proxy\_user,@proxy\_pass).new(GM\_LNK\_HOST,  
80)  
response = nil  
np.start { |http|  
response = http.post(GM\_LNK\_GMAIL, postdata,{‘Cookie’ =\>  
@cookie\_str,‘User-agent’ =\> GM\_USER\_AGENT,‘Content-type’ =\>  
‘multipart/form-data; boundary=’ + boundary } )  
}

If you want full source, try gem install gmailer

Regards,  
Park H.

---

<div class="post-metadata">

**Author:** ![aginghipster](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/e9c0ed/32.png) [@aginghipster](https://www.ruby-forum.com/u/aginghipster)\
**Post date:** [April 16, 2008, 5:58pm UTC](https://www.ruby-forum.com/t/looking-for-a-net-http-example/134961/3 "2008-04-16T17:58:16Z")

</div>

Thanks for posting that!

-Andy
