<div dir="ltr">Hi!<div><br></div><div>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 <a href="http://rotate.aprs2.net">rotate.aprs2.net</a> 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</div><div><br></div><div>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%" <a href="http://poland.aprs2.net:8080">poland.aprs2.net:8080</a> -H "Content-Type: application/octet-stream"<br>* Rebuilt URL to: <a href="http://192.168.237.197:8080/">192.168.237.197:8080/</a><br>* Trying 192.168.237.197...<br>* TCP_NODELAY set<br>* Connected to 192.168.237.197 (192.168.237.197) port 8080 (#0)<br>> POST / HTTP/1.1<br>> Host: <a href="http://192.168.237.197:8080">192.168.237.197:8080</a><br>> User-Agent: curl/7.55.1<br>> Accept: */*<br>> Content-Type: application/octet-stream<br>> Content-Length: 147<br>><br>* upload completely sent off: 147 out of 147 bytes<br>< HTTP/1.1 400 No newline (LF) found in data<br>< Content-Type: text/html<br>< Connection: close<br>< Date: Mon, 09 Mar 2020 22:00:53 GMT<br>< Content-Length: 130<br><<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Pozdrawiam,</div><div>Rafał Antas</div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">pon., 9 mar 2020 o 22:33 Heikki Hannikainen <<a href="mailto:hessu@hes.iki.fi">hessu@hes.iki.fi</a>> napisał(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Rafał,<br>
<br>
The basic problem with your 'curl' approach is that you are using a HTTP <br>
client (curl) to talk to an APRS-IS server, on port 14580. Port 14580 does <br>
not talk the HTTP protocol, and it never has, even on javaprssrvr.<br>
<br>
When you run that curl command, it'll send a number of HTTP request <br>
headers, and only then it sends the 'user' command line as the POST body. <br>
javaprssrvr 3.x apparently ignores all those invalid commands and then <br>
accepts the 'user' login command. aprsc throws the client out a bit faster <br>
after a few invalid commands (repeatedly failed login).<br>
<br>
Try 'nc' (netcat) instead of 'curl' to make a plain TCP connection instead <br>
of HTTP over TCP.<br>
<br>
John Gorkos suggested that javaprssrvr might do a websocket connection, <br>
but no, that's a recent javaprssrvr 4.x feature, the server in question <br>
was an old 3.15 version, and the websocket thing still won't run on port <br>
14580 on the 4.x versions (websocket happens over HTTP, not over the <br>
APRS-IS port). And no, aprsc doesn't do the websocket thing.<br>
<br>
Both aprsc and javaprssrvr do support a HTTP post of a packet on port <br>
8080, as documented here: <a href="http://www.aprs-is.net/SendOnlyPorts.aspx" rel="noreferrer" target="_blank">http://www.aprs-is.net/SendOnlyPorts.aspx</a> - the <br>
curl command should probably work there if a packet was also appended <br>
after the "user" login command (with a CRLF in between). Not all servers <br>
are configured with port 8080 support, but all servers on the <br>
<a href="http://rotate.aprs2.net" rel="noreferrer" target="_blank">rotate.aprs2.net</a> DNS rotate service should have it.<br>
<br>
<br>
On Thu, 5 Mar 2020, Rafał Antas wrote:<br>
<br>
> <br>
> Hi Guys,<br>
> <br>
> <br>
> I am writing to you since you might help with my small problem. My friend (SQ2CET) and I (SQ4LOL) developed<br>
> small WX station using ESP8266 powered by ESPEASY software. Everything was fine WX date was pushed to APRS.fi<br>
> without any problems till yesterday. Poland APRS server (<a href="http://Poland.aprs2.net" rel="noreferrer" target="_blank">Poland.aprs2.net</a>) was migrated from java<br>
> to aprsc and I think this is causing this problem for us. We are using POST http method to push data to APRS.<br>
> I am trying to compare Poland APRS server, running on aprsc to Czech running java. Everything is ok when we<br>
> are sending data to Czech server, but Poland server is not. I tried to compare it using curl command.<br>
> <br>
> Poland:<br>
> <br>
> curl --verbose --data "user SQ4LOL pass 12345" <a href="http://poland.aprs2.net:14580" rel="noreferrer" target="_blank">poland.aprs2.net:14580</a><br>
> <br>
> * Rebuilt URL to: <a href="http://poland.aprs2.net:14580/" rel="noreferrer" target="_blank">poland.aprs2.net:14580/</a><br>
> <br>
> * Trying 46.21.223.230...<br>
> <br>
> * TCP_NODELAY set<br>
> <br>
> * Connected to <a href="http://poland.aprs2.net" rel="noreferrer" target="_blank">poland.aprs2.net</a> (46.21.223.230) port 14580 (#0)<br>
> <br>
> > POST / HTTP/1.1<br>
> <br>
> > Host: <a href="http://poland.aprs2.net:14580" rel="noreferrer" target="_blank">poland.aprs2.net:14580</a><br>
> <br>
> > User-Agent: curl/7.55.1<br>
> <br>
> > Accept: */*<br>
> <br>
> > Content-Length: 22<br>
> <br>
> > Content-Type: application/x-www-form-urlencoded<br>
> <br>
> > <br>
> <br>
> * upload completely sent off: 22 out of 22 bytes<br>
> <br>
> # aprsc 2.1.5-g8af3cdc<br>
> <br>
> # Invalid login command<br>
> <br>
> # Invalid login command<br>
> <br>
> * Connection #0 to host <a href="http://poland.aprs2.net" rel="noreferrer" target="_blank">poland.aprs2.net</a> left intact<br>
> <br>
> <br>
> <br>
> Czech:<br>
> <br>
> <br>
> <br>
> curl --verbose --data "user SQ4LOL pass 12345" <a href="http://czech.aprs2.net:14580" rel="noreferrer" target="_blank">czech.aprs2.net:14580</a><br>
> <br>
> * Rebuilt URL to: <a href="http://czech.aprs2.net:14580/" rel="noreferrer" target="_blank">czech.aprs2.net:14580/</a><br>
> <br>
> * Trying 89.235.48.27...<br>
> <br>
> * TCP_NODELAY set<br>
> <br>
> * Connected to <a href="http://czech.aprs2.net" rel="noreferrer" target="_blank">czech.aprs2.net</a> (89.235.48.27) port 14580 (#0)<br>
> <br>
> > POST / HTTP/1.1<br>
> <br>
> > Host: <a href="http://czech.aprs2.net:14580" rel="noreferrer" target="_blank">czech.aprs2.net:14580</a><br>
> <br>
> > User-Agent: curl/7.55.1<br>
> <br>
> > Accept: */*<br>
> <br>
> > Content-Length: 22<br>
> <br>
> > Content-Type: application/x-www-form-urlencoded<br>
> <br>
> > <br>
> <br>
> * upload completely sent off: 22 out of 22 bytes<br>
> <br>
> # javAPRSSrvr 3.15b08<br>
> <br>
> <br>
> <br>
> Do you have any idea how we can solve this small problem?<br>
> <br>
> Pozdrawiam,<br>
> Rafał Antas<br>
> <br>
><br>
<br>
- Hessu_______________________________________________<br>
aprssig mailing list<br>
<a href="mailto:aprssig@lists.tapr.org" target="_blank">aprssig@lists.tapr.org</a><br>
<a href="http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org" rel="noreferrer" target="_blank">http://lists.tapr.org/mailman/listinfo/aprssig_lists.tapr.org</a><br>
</blockquote></div>