[aprssig] APRS POST HTTP

VZW engr vzwengr at gmail.com
Mon Mar 9 19:13:53 EDT 2020


This thread started me to thinking (which is sometimes "dangerous").  :-)

Is there a test port, test server or a procedure that one can use when
testing software?

I'd like to try some things, but I don't want to become an annoyance.

Eric
WB6TIX


On Mon, Mar 9, 2020, 15:05 Rafał Antas <antas.rafal at gmail.com> wrote:

> Hi!
>
> I have changed port to 8080. I have managed to get what I want using UDP.
> There is ESP Easy limitation in command SendToUDP which is using only IP
> not DNS name to connect to UDP server. My aim is to use rotate.aprs2.net
> Now I am trying to setup everything using HTTP Controller. I have managed
> to put right HTTP headers and on my option correct http body (user SQ4LOL
> pass 23475 vers EasyESPWX
> 1.0%CR%%LF%SQ4LOL>APRS,TCPIP*:=5244.43N/02333.50E-430.400MHz /A=000538
> Pi-Star Rafal QTH:Hajnowka 73!%CR%%LF%) but it does not work. Curl command
> is throwing 400 No newline (LF) found in data
>
> curl -v -d "user SQ4LOL pass 23475 vers EasyESPWX
> 1.0%CR%%LF%SQ4LOL>APRS,TCPIP*:=5244.43N/02333.50E-430.400MHz /A=000538
> Pi-Star Rafal QTH:Hajnowka 73!%CR%%LF%" poland.aprs2.net:8080 -H
> "Content-Type: application/octet-stream"
> * Rebuilt URL to: 192.168.237.197:8080/
> *   Trying 192.168.237.197...
> * TCP_NODELAY set
> * Connected to 192.168.237.197 (192.168.237.197) port 8080 (#0)
> > POST / HTTP/1.1
> > Host: 192.168.237.197:8080
> > User-Agent: curl/7.55.1
> > Accept: */*
> > Content-Type: application/octet-stream
> > Content-Length: 147
> >
> * upload completely sent off: 147 out of 147 bytes
> < HTTP/1.1 400 No newline (LF) found in data
> < Content-Type: text/html
> < Connection: close
> < Date: Mon, 09 Mar 2020 22:00:53 GMT
> < Content-Length: 130
> <
>
>
>
>
>
> Pozdrawiam,
> Rafał Antas
>
>
> pon., 9 mar 2020 o 22:33 Heikki Hannikainen <hessu at hes.iki.fi> napisał(a):
>
>>
>> Rafał,
>>
>> The basic problem with your 'curl' approach is that you are using a HTTP
>> client (curl) to talk to an APRS-IS server, on port 14580. Port 14580
>> does
>> not talk the HTTP protocol, and it never has, even on javaprssrvr.
>>
>> When you run that curl command, it'll send a number of HTTP request
>> headers, and only then it sends the 'user' command line as the POST body.
>> javaprssrvr 3.x apparently ignores all those invalid commands and then
>> accepts the 'user' login command. aprsc throws the client out a bit
>> faster
>> after a few invalid commands (repeatedly failed login).
>>
>> Try 'nc' (netcat) instead of 'curl' to make a plain TCP connection
>> instead
>> of HTTP over TCP.
>>
>> John Gorkos suggested that javaprssrvr might do a websocket connection,
>> but no, that's a recent javaprssrvr 4.x feature, the server in question
>> was an old 3.15 version, and the websocket thing still won't run on port
>> 14580 on the 4.x versions (websocket happens over HTTP, not over the
>> APRS-IS port). And no, aprsc doesn't do the websocket thing.
>>
>> Both aprsc and javaprssrvr do support a HTTP post of a packet on port
>> 8080, as documented here: http://www.aprs-is.net/SendOnlyPorts.aspx -
>> the
>> curl command should probably work there if a packet was also appended
>> after the "user" login command (with a CRLF in between). Not all servers
>> are configured with port 8080 support, but all servers on the
>> rotate.aprs2.net DNS rotate service should have it.
>>
>>
>> On Thu, 5 Mar 2020, Rafał Antas wrote:
>>
>> >
>> > Hi Guys,
>> >
>> >
>> > I am writing to you since you might help with my small problem. My
>> friend (SQ2CET) and I (SQ4LOL) developed
>> > small WX station using ESP8266 powered by ESPEASY software. Everything
>> was fine WX date was pushed to APRS.fi
>> > without any problems till yesterday. Poland APRS server (
>> Poland.aprs2.net) was migrated from java
>> > to aprsc and I think this is causing this problem for us. We are using
>> POST http method to push data to APRS.
>> > I am trying to compare Poland APRS server, running on aprsc to Czech
>> running java. Everything is ok when we
>> > are sending data to Czech server, but Poland server is not. I tried to
>> compare it using curl command.
>> >
>> > Poland:
>> >
>> > curl --verbose --data "user SQ4LOL pass 12345" poland.aprs2.net:14580
>> >
>> > * Rebuilt URL to: poland.aprs2.net:14580/
>> >
>> > *   Trying 46.21.223.230...
>> >
>> > * TCP_NODELAY set
>> >
>> > * Connected to poland.aprs2.net (46.21.223.230) port 14580 (#0)
>> >
>> > > POST / HTTP/1.1
>> >
>> > > Host: poland.aprs2.net:14580
>> >
>> > > User-Agent: curl/7.55.1
>> >
>> > > Accept: */*
>> >
>> > > Content-Length: 22
>> >
>> > > Content-Type: application/x-www-form-urlencoded
>> >
>> > >
>> >
>> > * upload completely sent off: 22 out of 22 bytes
>> >
>> > # aprsc 2.1.5-g8af3cdc
>> >
>> > # Invalid login command
>> >
>> > # Invalid login command
>> >
>> > * Connection #0 to host poland.aprs2.net left intact
>> >
>> >
>> >
>> > Czech:
>> >
>> >
>> >
>> > curl --verbose --data "user SQ4LOL pass 12345" czech.aprs2.net:14580
>> >
>> > * Rebuilt URL to: czech.aprs2.net:14580/
>> >
>> > *   Trying 89.235.48.27...
>> >
>> > * TCP_NODELAY set
>> >
>> > * Connected to czech.aprs2.net (89.235.48.27) port 14580 (#0)
>> >
>> > > POST / HTTP/1.1
>> >
>> > > Host: czech.aprs2.net:14580
>> >
>> > > User-Agent: curl/7.55.1
>> >
>> > > Accept: */*
>> >
>> > > Content-Length: 22
>> >
>> > > Content-Type: application/x-www-form-urlencoded
>> >
>> > >
>> >
>> > * upload completely sent off: 22 out of 22 bytes
>> >
>> > # javAPRSSrvr 3.15b08
>> >
>> >
>> >
>> > Do you have any idea how we can solve this small problem?
>> >
>> > Pozdrawiam,
>> > Rafał Antas
>> >
>> >
>>
>>    - Hessu_______________________________________________
>> aprssig mailing list
>> aprssig at lists.tapr.org
>> http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
>>
> _______________________________________________
> aprssig mailing list
> aprssig at lists.tapr.org
> http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/aprssig_lists.tapr.org/attachments/20200309/ee403a71/attachment.html>


More information about the aprssig mailing list