25

I'm trying to setup the wallet RPC for a Monero node, but when I use cURL to that port, I get this error:

curl: (1) Received HTTP/0.9 when not allowed

However, checking curl --version gives me this:

curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

I thought that error would only present when cURL was compiled without nghttp2. This is an AWS environment, running 20.04.

2
  • Had the problem hitting on a Python http.server.
    – Lenormju
    Feb 1, 2023 at 11:37
  • I had this error when using http instead of https to request the server with curl, so maybe try using https. Feb 15, 2023 at 8:55

5 Answers 5

21
curl --http0.9

will help you out. I got that same error message after upgrading curl.

1
  • This should be the accepted answer, since this is the way to deal with a HTTP0.9 request in curl. Feb 15, 2023 at 12:50
17
+100

It would be great to see exactly your complete curl request. HTTP/0.9 is from 1991, previous to the basic HTTP/1.0 so I think that the problem is the response from the Server.

Please try:

  1. Your curl command with the --verbose parameter so it outputs all the information.

  2. Try the same URL you attempt with curl with wget and what are the contents of the file saved. Do if from inside a new empty folder.

  3. telnet to that port and type:

    GET / HTTP/1.0<ENTER>
    <ENTER>
    

    where <ENTER> is just pressing the Enter key and see the output. Maybe you are trying to open the wrong port.

  4. Some times the problem is in the certificate. Try with the parameters:

    --ssl
    --sslv2
    --sslv3
    
  5. You can also enforce:

    --http1.1
    --http2
    

Also your organization or ISP may be using a transparent proxy which is catching the request or that is using a SSL certificate causing problems.

4
  • 3
    I would have never assumed the port they said to use, in their own documentation, would be the wrong one, but here we are.
    – Fibericon
    Nov 30, 2020 at 20:32
  • 2
    Yes, is very disappointing, but those things happen. One day they decide to change the port and nobody realizes that documentation is obsolete. Maybe the good Engineer that was doing that excellent work leaved. Glad the problem is fixed for you! :) Cheers Dec 1, 2020 at 21:11
  • Beware that docker recommends a secure deployment, therefore the first thing you should check is the protocol, as many tutorial still use http.
    – Yennefer
    Dec 24, 2020 at 16:11
  • Hello @CarlesMateo, I am also facing similar issue. I am getting "curl: (1) Received HTTP/0.9 when not allowed, and hence HA PROXY is not able to send requests to this Server" error. I have posted my question on "stackoverflow.com/questions/76304814/…" May 22, 2023 at 9:43
0

In my case I got the same error from curl and it turned out it was an ftp server...

So for the ones who came here searching for "curl: (1) Received HTTP/0.9 when not allowed" try this on a browser:

ftp://IP:PORT

Or this on a terminal:

ftp IP PORT
0
curl --http2-prior-knowledge 'your_host'

may help if you are trying to request an HTTP/2 webserver without HTTP/1.1 upgrade (curl docs).

-1

You're trying to connect to an ESMTP mail server - verify this by trying telnet to the same address and port to view the ESMTP greeting.

1
  • 3
    Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Apr 19, 2022 at 13:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .