Revert "Update command WebSend"

This reverts commit 59c581721470b654d495bea4caf2110aeb7be056.
This commit is contained in:
Theo Arends 2018-11-12 11:11:22 +01:00
parent 59c5817214
commit 406907cbe2
2 changed files with 17 additions and 24 deletions

View File

@ -2,7 +2,6 @@
* Fix wifi connection errors using wifi disconnect and ESP.reset instead of ESP.restart * Fix wifi connection errors using wifi disconnect and ESP.reset instead of ESP.restart
* Fix Sonoff Pow R2 and Sonoff S31 Serial interface hang caused by Sonoff Basic R2 driver delay implementation (and possibly core bug) * Fix Sonoff Pow R2 and Sonoff S31 Serial interface hang caused by Sonoff Basic R2 driver delay implementation (and possibly core bug)
* Change command WebSend Host header field from IP address to hostname (#4331) * Change command WebSend Host header field from IP address to hostname (#4331)
* Add to command WebSend option to send a direct path when command starts with a slash (#4329)
* *
* 6.3.0.6 20181110 * 6.3.0.6 20181110
* Change GUI Configure Module by using AJAX for data fetch to cut page size (and memory use) by 40% * Change GUI Configure Module by using AJAX for data fetch to cut page size (and memory use) by 40%

View File

@ -1895,11 +1895,9 @@ String UrlEncode(const String& text)
int WebSend(char *buffer) int WebSend(char *buffer)
{ {
/* [sonoff] POWER1 ON --> Sends http://sonoff/cm?cmnd=POWER1 ON // http://192.168.178.86:80/cm?user=admin&password=joker&cmnd=POWER1 ON
* [192.168.178.86:80,admin:joker] POWER1 ON --> Sends http://hostname:80/cm?user=admin&password=joker&cmnd=POWER1 ON // http://192.168.178.86:80/cm?cmnd=POWER1 ON
* [sonoff] /any/link/starting/with/a/slash.php?log=123 --> Sends http://sonoff/any/link/starting/with/a/slash.php?log=123 // [192.168.178.86:80,admin:joker] POWER1 ON
* [sonoff,admin:joker] /any/link/starting/with/a/slash.php?log=123 --> Sends http://sonoff/any/link/starting/with/a/slash.php?log=123
*/
char *host; char *host;
char *port; char *port;
@ -1925,19 +1923,15 @@ int WebSend(char *buffer)
if (port) { nport = atoi(port); } if (port) { nport = atoi(port); }
String nuri = ""; String nuri = "";
command = LTrim(command); if (user && password) {
if (command[0] != '/') { nuri += F("user=");
nuri = "/cm?"; nuri += user;
if (user && password) { nuri += F("&password=");
nuri += F("user="); nuri += password;
nuri += user; nuri += F("&");
nuri += F("&password=");
nuri += password;
nuri += F("&");
}
nuri += F("cmnd=");
} }
nuri += command; // command = POWER1 ON or /any/link/starting/with/a/slash.php?log=123 nuri += F("cmnd=");
nuri += LTrim(command);
String uri = UrlEncode(nuri); String uri = UrlEncode(nuri);
IPAddress host_ip; IPAddress host_ip;
@ -1953,19 +1947,19 @@ int WebSend(char *buffer)
} }
if (connected) { if (connected) {
String url = F("GET "); String url = F("GET /cm?");
url += uri; url += uri;
url += F(" HTTP/1.1\r\nHost: "); url += F(" HTTP/1.1\r\n Host: ");
// url += IPAddress(host_ip).toString(); // url += IPAddress(host_ip).toString();
url += host; // https://tools.ietf.org/html/rfc7230#section-5.4 (#4331) url += host; // https://tools.ietf.org/html/rfc7230#section-5.4 (#4331)
if (port) { if (port) {
url += F(":"); url += F(" \r\n Port: ");
url += port; url += port;
} }
url += F("\r\nConnection: close\r\n\r\n"); url += F(" \r\n Connection: close\r\n\r\n");
snprintf_P(log_data, sizeof(log_data), PSTR("DBG: Url |%s|"), url.c_str()); //snprintf_P(log_data, sizeof(log_data), PSTR("DBG: Url |%s|"), url.c_str());
AddLog(LOG_LEVEL_DEBUG); //AddLog(LOG_LEVEL_DEBUG);
client.print(url.c_str()); client.print(url.c_str());
client.flush(); client.flush();