GET request from ESP-01 client to pushingbox doesn't work - 400 bad request
Note: Terminal doesn't recognize \r and \n as single byte characters ( so \r\n = 4 bytes ===> one for each character \ r \ n). So the URL string I send is the number of URL characters + 4 bytes for every \r\n in the string. For example if the URL string is 88 characters (bytes) long with \r\n\r\n in the end I add 8 characters.


You've hit the problem though your solution is wrong. Your solution sends the ASCII value for each character in \r\n, taking the slashes not as part of an escape sequence but as separate characters in their own right. You're sending 4 bytes: 92, 114, 92, 110 instead of 2 bytes: 13, 10. You cant type these escape sequences in your textbox (which takes everything literally) so you'll need to get the terminal program to do it for you. I'm not familiar with Terminal; I think you have to set up \r\n as transmit macros. But this is really easy to do with the Arduino serial monitor. Just set the Line Ending to 'Both NL &amp; CR' and each time you press Enter to send a string, \r\n will be appended automatically. So you need only type:

GET /pushingbox?devid=xxxxxxxxxxxxxxxx HTTP/1.1


and press Enter once. Subsequent lines can be sent in a similar manner; simply press Enter as many times as you need \r\n. 

Most serial monitoring programs have this feature, you just have to figure out how to set it up.