inets: request error on Windows XP

Anders Nygren anders.nygren@REDACTED
Fri Apr 29 15:54:23 CEST 2005


On 4/28/05, John Webb <jwebb@REDACTED> wrote:
> Hello,
> 
> I am using R10B-4 and have run into a problem using http:request/4 on
> Windows XP (SP2). It seems that specifying a numeric IP address causes
> a badmatch error somewhere in the depths of inets. The same code runs
> fine on MAC OS. Has anyone else seen this problem or am I missing
> something on the windows side?
> 
> On MAC OS 10.3.9 built from the source distribution I get:
> 
>    Erlang (BEAM) emulator version 5.4.5 [source]
> 
>    Eshell V5.4.5  (abort with ^G)
>    1> application:start(inets).
>    ok
>    2> {ok,
> {R1,_,_}}=http:request(get,{"http://www.google.com",[]},[],[]),R1.
>    {"HTTP/1.1",200,"OK"}
>    3> {ok,
> {R2,_,_}}=http:request(get,{"http://66.102.7.147",[]},[],[]),R2.
>    {"HTTP/1.1",200,"OK"}
>    4>
> 
> But on Windows XP (SP2) from the binary distribution I get:
> 
>    Erlang (BEAM) emulator version 5.4.5 [threads:0]
> 
>    Eshell V5.4.5  (abort with ^G)
>    1> application:start(inets).
>    ok
>    2> {ok,
> {R1,_,_}}=http:request(get,{"http://www.google.com",[]},[],[]),R1.
>    {"HTTP/1.1",200,"OK"}
>    3> {ok,
> {R2,_,_}}=http:request(get,{"http://66.102.7.147",[]},[],[]),R2.
>    ** exited: {{case_clause,{undefined,{error,
>                                          {'EXIT',
>                                              {{badmatch,{error,badarg}},
> 
> [{httpc_manager,start_handler,2},
> 
> {httpc_manager,handle_request,2},
> 
> {httpc_manager,handle_call,3},
>                                                {gen_server,handle_msg,6},
>                                                {proc_lib,init_p,5}]}}}}},
>              [{http,handle_request,5},
>               {erl_eval,do_apply,5},
>               {erl_eval,expr,5},
>               {shell,exprs,6},
>               {shell,eval_loop,3}]} **
> 

This looks like a problem I have had too.
See,
http://www.erlang.org/ml-archive/erlang-questions/200503/msg00014.html
http://www.erlang.org/ml-archive/erlang-questions/200503/msg00045.html

I never got any response to those, and I never found the problem.
I am happy to see that it works with a name instead of IP address.

Another problem with http:request, (at least on Linux), is that if You give a
timeout, the request works but there is a crash somewhere in inets, when
it tries to remove the timer.
So for me it has been impossible to use http on both Linux and Windows,
so I have had to make a Java node to handle http requests.

This is not just a little embarrasing while trying to convince management
to let me use Erlang in some projects.

/Anders



More information about the erlang-questions mailing list