# How to generate this request with NET::HTTP

**URL:** <https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158>\
**Category:** Rails\
**Created:** [September 22, 2008, 12:06am UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158 "2008-09-22T00:06:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 12:06am UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/1 "2008-09-22T00:06:47Z")

</div>

Hi,

Whith NET::HTTP.post\_form how can I generate the next request?

POST /script.php?op=publish HTTP/1.1  
…  
…

ch=0&cnt=something

* * *

When I use:  
res =  
Net::HTTP.post\_form(URI.parse(‘[XXX Sex - Free Porn Videos at XXX.com](http://www.xxx.com/script.php?op=publish)’),  
{“ch” =\> 0, “cnt” =\> “something”})

> **[XXX Sex - Free Porn Videos at XXX.com](https://www.xxx.com)**
>
> XXX Sex Videos - Free Porn Movies at XXX.com

ch0cntsomething

There are no = and & so I think that fails on the php script…

Thanks

---

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 7:09am UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/2 "2008-09-22T07:09:01Z")

</div>

Hi, any hints anyone?

Thanks.

---

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 8:59am UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/3 "2008-09-22T08:59:07Z")

</div>

On Sep 21, 11:06 pm, Pod C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> When I use:  
> res =  
> Net::HTTP.post\_form(URI.parse(‘[XXX Sex - Free Porn Videos at XXX.com](http://www.xxx.com/script.php?op=publish)’),  
> {“ch” =\> 0, “cnt” =\> “something”})
> 
> [XXX Sex - Free Porn Videos at XXX.com](http://www.xxx.com/script.php?op=publish)  
> ch0cntsomething
> 
> There are no = and & so I think that fails on the php script…

That should work. What makes you think the & and = are missing ? Have  
you looked at the data going over the wire ?

Fred

---

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 10:41am UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/4 "2008-09-22T10:41:22Z")

</div>

I was using puts to check it but I’m not sure I doing it correctly.

How can I see the generated request before it is sent by post\_form?  
I can’t seem to catch it with the Fiddler tool.

Thanks.

---

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 11:06am UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/5 "2008-09-22T11:06:34Z")

</div>

On 22 Sep 2008, at 09:41, Pod C. wrote:

> I was using puts to check it but I’m not sure I doing it correctly.

That wouldn’t do much - it probably just called puts on the hash, and  
push for hashes isn’t very useful.

> How can I see the generated request before it is sent by post\_form?

I don’t think you can (unless you use the rather more verbose forms of  
the Net::HTTP api)

> I can’t seem to catch it with the Fiddler tool.

I would have tried tcpdump, ethereal etc… What does the data look  
like when it appears at the php script (or do you no control that)

Fred

---

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 12:31pm UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/6 "2008-09-22T12:31:04Z")

</div>

Thanks again Fred. I used Ethereal now. And yes the arguments are there  
correctly!

What I found is that the next line:  
Net::HTTP.post\_form(URI.parse(‘[http://www.something.com/script.php?op=publish](http://www.something.com/script.php?op=publish)’),  
{“ch” =\> 0, “cnt” =\> “something”})

Produces:

POST [http://www.something.com/script.php](http://www.something.com/script.php) HTTP/1.1  
Accept: _/_  
Content-Type: application/x-www-form-urlencoded  
Content-Length: 14  
Host: [www.something.com](http://www.something.com)

ch=0&cnt=sometext

So it leaves out the ?op=publish from the url  
I need to look into that now.

Thanks for your suggestions!

---

<div class="post-metadata">

**Author:** ![comopasta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/59ef9b/32.png) [@comopasta](https://www.ruby-forum.com/u/comopasta)\
**Post date:** [September 22, 2008, 2:54pm UTC](https://www.ruby-forum.com/t/how-to-generate-this-request-with-net-http/149158/7 "2008-09-22T14:54:59Z")

</div>

Hi,

Here’s how I got the thing working:

http = Net::HTTP.new(‘[www.something.com](http://www.something.com)’)  
resp = http.post(‘/script.php?op=publish’, ‘ch=0&cnt=something’)

Regards
