[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Why is my http call failing?

Greg Chagnon

8/19/2006 9:44:00 AM

The code is simple:

Net::HTTP.start("code.whytheluckystiff.net",80) { |http|
print(http.head('/yaml'))
}

The error I get is that an EINVAL exception was generated.

Using telnet to preform the same request, everything seems fine.

I am using the latest version of Ruby on Windows ( NT4 SP6 ).


--------------------------------------------------
Thaddeus L. Olczyk, PhD
Think twice, code once.
12 Answers

William Crawford

8/19/2006 10:01:00 AM

0

Thaddeus L Olczyk wrote:
> The code is simple:
>
> Net::HTTP.start("code.whytheluckystiff.net",80) { |http|
> print(http.head('/yaml'))
> }
>
> The error I get is that an EINVAL exception was generated.
>
> Using telnet to preform the same request, everything seems fine.
>
> I am using the latest version of Ruby on Windows ( NT4 SP6 ).

That code seems to work fine on linux with Ruby 1.8.4. I get:

#<Net::HTTPOK:0xb7bef67c>=> nil

And if I change to .get('/yaml').body I get the body of the page, as
expected.

--
Posted via http://www.ruby-....

Robert Klemme

8/19/2006 10:28:00 AM

0

William Crawford wrote:
> Thaddeus L Olczyk wrote:
>> The code is simple:
>>
>> Net::HTTP.start("code.whytheluckystiff.net",80) { |http|
>> print(http.head('/yaml'))
>> }
>>
>> The error I get is that an EINVAL exception was generated.
>>
>> Using telnet to preform the same request, everything seems fine.
>>
>> I am using the latest version of Ruby on Windows ( NT4 SP6 ).
>
> That code seems to work fine on linux with Ruby 1.8.4. I get:
>
> #<Net::HTTPOK:0xb7bef67c>=> nil
>
> And if I change to .get('/yaml').body I get the body of the page, as
> expected.

Works for me, too.

Local firewall that explicitly blocks accesses from ruby and not from
telnet? Just a wild guess...

robert

Francis Cianfrocca

8/19/2006 12:55:00 PM

0

Thaddeus L Olczyk wrote:
> The code is simple:
>
> Net::HTTP.start("code.whytheluckystiff.net",80) { |http|
> print(http.head('/yaml'))
> }
>
> The error I get is that an EINVAL exception was generated.
>
> Using telnet to preform the same request, everything seems fine.
>
> I am using the latest version of Ruby on Windows ( NT4 SP6 ).

What happens if you use a more recent version of Windows?

--
Posted via http://www.ruby-....

Greg Chagnon

8/19/2006 11:30:00 PM

0

On Sat, 19 Aug 2006 12:28:28 +0200, Robert Klemme
<shortcutter@googlemail.com> wrote:

> everything seems fine.
>>>
>>> I am using the latest version of Ruby on Windows ( NT4 SP6 ).
>>
>> That code seems to work fine on linux with Ruby 1.8.4. I get:
>>
>> #<Net::HTTPOK:0xb7bef67c>=> nil
>>
>> And if I change to .get('/yaml').body I get the body of the page, as
>> expected.
>
>Works for me, too.
>
>Local firewall that explicitly blocks accesses from ruby and not from
>telnet? Just a wild guess...
The firewall I use is zonealarm. It keeps prompting me to allow ruby
to pass ( I keep saying yes ). In fact I even set remember this
setting and yes. I had to remove ruby toi clear it.

It seems to me there is some aspect of Windows networking that is
not working right. It is something that most programs, if they use it,
they do not rely on it. But ruby networking just relies on it. I'm
hoping someone can tell me.

--------------------------------------------------
Thaddeus L. Olczyk, PhD
Think twice, code once.

James Britt

8/20/2006 12:06:00 AM

0

Francis Cianfrocca wrote:
> Thaddeus L Olczyk wrote:
>
>>The code is simple:
>>
>>Net::HTTP.start("code.whytheluckystiff.net",80) { |http|
>> print(http.head('/yaml'))
>>}
>>
>>The error I get is that an EINVAL exception was generated.
>>
>>Using telnet to preform the same request, everything seems fine.
>>
>>I am using the latest version of Ruby on Windows ( NT4 SP6 ).
>
>
> What happens if you use a more recent version of Windows?

This works for me on WinXP and a somewhat recent version of Curt's
Windows build:

require 'net/http'

Net::HTTP.start("code.whytheluckystiff.net",80) { |http|
print(http.head('/yaml'))
}
#<Net::HTTPOK:0x2b4bff0>


I have ZoneAlarm, but it's been tamed to allow Ruby code. I have the
built-in Windows firewall turned off.


--
James Britt

http://www.ru... - Ruby Help & Documentation
http://www.artima.c... - The Journal By & For Rubyists
http://www.rub... - The Ruby Store for Ruby Stuff
http://www.jame... - Playing with Better Toys


Ezra Zygmuntowicz

8/20/2006 2:32:00 AM

0


On Aug 19, 2006, at 4:35 PM, Thaddeus L Olczyk wrote:

> On Sat, 19 Aug 2006 12:28:28 +0200, Robert Klemme
> <shortcutter@googlemail.com> wrote:
>
>> everything seems fine.
>>>>
>>>> I am using the latest version of Ruby on Windows ( NT4 SP6 ).
>>>
>>> That code seems to work fine on linux with Ruby 1.8.4. I get:
>>>
>>> #<Net::HTTPOK:0xb7bef67c>=> nil
>>>
>>> And if I change to .get('/yaml').body I get the body of the page, as
>>> expected.
>>
>> Works for me, too.
>>
>> Local firewall that explicitly blocks accesses from ruby and not from
>> telnet? Just a wild guess...
> The firewall I use is zonealarm. It keeps prompting me to allow ruby
> to pass ( I keep saying yes ). In fact I even set remember this
> setting and yes. I had to remove ruby toi clear it.
>
> It seems to me there is some aspect of Windows networking that is
> not working right. It is something that most programs, if they use it,
> they do not rely on it. But ruby networking just relies on it. I'm
> hoping someone can tell me.
>
> --------------------------------------------------
> Thaddeus L. Olczyk, PhD
> Think twice, code once.
>


I have seen this same issue on windows before. ZoneAlarm interferes
with ruby's socket access. You need to uninstall ZoneAlarm and it
will work fine. Just disabling Zone Alarm will not work , you have to
completely uninstall it.

-Ezra

James Britt

8/20/2006 4:22:00 AM

0

Ezra Zygmuntowicz wrote:

>
> I have seen this same issue on windows before. ZoneAlarm interferes
> with ruby's socket access. You need to uninstall ZoneAlarm and it will
> work fine. Just disabling Zone Alarm will not work , you have to
> completely uninstall it.

Interesting. I have ZA installed on two different WinXP boxen, and a
now-gone Win2k box, and never had an issue with Ruby getting out to the
Internet.

However, a recent version of ZA was annoying in one way or another, so I
rolled back to a previous version. So perhaps the more current versions
are Ruby-hostile, but it's never been an issue for me.


--
James Britt

"If you don't write it down, it never happened."
- (Unknown)

Ezra Zygmuntowicz

8/20/2006 4:56:00 AM

0


On Aug 19, 2006, at 9:22 PM, James Britt wrote:

> Ezra Zygmuntowicz wrote:
>
>> I have seen this same issue on windows before. ZoneAlarm
>> interferes with ruby's socket access. You need to uninstall
>> ZoneAlarm and it will work fine. Just disabling Zone Alarm will
>> not work , you have to completely uninstall it.
>
> Interesting. I have ZA installed on two different WinXP boxen, and
> a now-gone Win2k box, and never had an issue with Ruby getting out
> to the Internet.
>
> However, a recent version of ZA was annoying in one way or another,
> so I rolled back to a previous version. So perhaps the more
> current versions are Ruby-hostile, but it's never been an issue
> for me.
>
>
> --
> James Britt


It has been a while since I've seen this issue as I don't use
windows very often. But it was completely repeatable when I did have
the issue at the end of last year.

-Ezra

Greg Chagnon

8/20/2006 6:24:00 AM

0

On Sun, 20 Aug 2006 11:32:14 +0900, in comp.lang.ruby you wrote:

>
>On Aug 19, 2006, at 4:35 PM, Thaddeus L Olczyk wrote:
>
>> On Sat, 19 Aug 2006 12:28:28 +0200, Robert Klemme
>> <shortcutter@googlemail.com> wrote:
>>
>>> everything seems fine.
>>>>>
>>>>> I am using the latest version of Ruby on Windows ( NT4 SP6 ).
>>>>
>>>> That code seems to work fine on linux with Ruby 1.8.4. I get:
>>>>
>>>> #<Net::HTTPOK:0xb7bef67c>=> nil
>>>>
>>>> And if I change to .get('/yaml').body I get the body of the page, as
>>>> expected.
>>>
>>> Works for me, too.
>>>
>>> Local firewall that explicitly blocks accesses from ruby and not from
>>> telnet? Just a wild guess...
>> The firewall I use is zonealarm. It keeps prompting me to allow ruby
>> to pass ( I keep saying yes ). In fact I even set remember this
>> setting and yes. I had to remove ruby toi clear it.
>>
>> It seems to me there is some aspect of Windows networking that is
>> not working right. It is something that most programs, if they use it,
>> they do not rely on it. But ruby networking just relies on it. I'm
>> hoping someone can tell me.
>>
>> --------------------------------------------------
>> Thaddeus L. Olczyk, PhD
>> Think twice, code once.
>>
>
>
> I have seen this same issue on windows before. ZoneAlarm interferes
>with ruby's socket access. You need to uninstall ZoneAlarm and it
>will work fine. Just disabling Zone Alarm will not work , you have to
>completely uninstall it.
>
>-Ezra
Hmmm.
Hard to say. If you disble it as a service, it should have no effect.
Anyway I'm hesitant to disable my firewall unless I have something
else in place. I wish there were a way ( like Posix's strace ) to
trace system calls and see exactl;y what is going wrong.


--------------------------------------------------
Thaddeus L. Olczyk, PhD
Think twice, code once.

Robert Klemme

8/20/2006 8:45:00 AM

0

Thaddeus L Olczyk wrote:
> On Sun, 20 Aug 2006 11:32:14 +0900, in comp.lang.ruby you wrote:
>
>> On Aug 19, 2006, at 4:35 PM, Thaddeus L Olczyk wrote:
>>
>>> On Sat, 19 Aug 2006 12:28:28 +0200, Robert Klemme
>>> <shortcutter@googlemail.com> wrote:
>>>
>>>> everything seems fine.
>>>>>> I am using the latest version of Ruby on Windows ( NT4 SP6 ).
>>>>> That code seems to work fine on linux with Ruby 1.8.4. I get:
>>>>>
>>>>> #<Net::HTTPOK:0xb7bef67c>=> nil
>>>>>
>>>>> And if I change to .get('/yaml').body I get the body of the page, as
>>>>> expected.
>>>> Works for me, too.
>>>>
>>>> Local firewall that explicitly blocks accesses from ruby and not from
>>>> telnet? Just a wild guess...
>>> The firewall I use is zonealarm. It keeps prompting me to allow ruby
>>> to pass ( I keep saying yes ). In fact I even set remember this
>>> setting and yes. I had to remove ruby toi clear it.
>>>
>>> It seems to me there is some aspect of Windows networking that is
>>> not working right. It is something that most programs, if they use it,
>>> they do not rely on it. But ruby networking just relies on it. I'm
>>> hoping someone can tell me.
>>>
>>> --------------------------------------------------
>>> Thaddeus L. Olczyk, PhD
>>> Think twice, code once.
>>>
>>
>> I have seen this same issue on windows before. ZoneAlarm interferes
>> with ruby's socket access. You need to uninstall ZoneAlarm and it
>> will work fine. Just disabling Zone Alarm will not work , you have to
>> completely uninstall it.
>>
>> -Ezra
> Hmmm.
> Hard to say. If you disble it as a service, it should have no effect.
> Anyway I'm hesitant to disable my firewall unless I have something
> else in place. I wish there were a way ( like Posix's strace ) to
> trace system calls and see exactl;y what is going wrong.

You can try Kerio Personal Firewall - personally I like it better than
ZA because it offers more precise control IMHO (disclaimer: I haven't
tested ZA thoroughly so I may have missed some advanced features).

http://www.sunbelt-software.com...

Kind regards

robert