Esp8266 AT Commands

Im trying to send this data with a GET Request to a server but it hangs at the end:

#include "SoftwareSerial.h"
#include "DHT.h"
#define DHTPIN A1     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
DHT dht(DHTPIN, DHTTYPE);

String ssid ="myssid";
String password="mypwd";
String server = "santiapps.com"; // www.example.com
String uri = "/emoncms/input/post";
#define EMON_APIKEY F("mykey")

byte dat [5];
String temp ,hum;
String data;
char dataString[20];
char tempString[20];
char humString[20];

SoftwareSerial esp(6, 7);// RX, TX

void setup() {
  esp.begin(9600);
  Serial.begin(9600);
  Serial.println("setup");
  reset();
  connectWifi();
}

void reset() {
  Serial.println("reset");
  esp.println("AT+RST");
  delay(1000);
  if(esp.find("OK") ) Serial.println("Module Reset");
}

void connectWifi() {
  Serial.println("connect to wifi");  
  String cmd = "AT+CWJAP=\"" +ssid+"\",\"" + password + "\"";
  esp.println(cmd);
  delay(400);
  while (esp.available()){
     String inData = esp.readStringUntil('\n');
     Serial.println("Got reponse from ESP8266: " + inData);
  }


  if(esp.find("OK")) {
    Serial.println("Connected!");
  } else {
    connectWifi();
    Serial.println("Cannot connect to wifi"); }
}


void start_test () {
  //For DHT22 Grove Pro
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  dtostrf(t, 4, 2, tempString);  //convert flat to char  
  dtostrf(h, 4, 2, humString);  //convert flat to char
  strcpy(dataString,tempString);
  strcat(dataString,humString);
  Serial.println(dataString);
}

void loop(){
  Serial.println("loop");
  start_test();
  httppost();
  delay(100000);//100k ms = 100s or ~ 1.8m
}

void httppost () {
  esp.println("AT+CIPSTART=\"TCP\",\"" + server + "\",80");//start a TCP connection.
  if( esp.find("OK")) {
    Serial.println("TCP connection ready");
  }

//  //CODE USED TO BUILD COMPLETE STRING
/* A GET has no separate header and data block. Very simply:
 * 
 * GET /emoncms/input/post.json?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&node=xx&csv=xx,xx,xx,xx\r\n\r\n
 * 
 */
  String nodeData1="/emoncms/input/post.json?node=fortnite&json={\"t\":";
  String nodeData2=nodeData1 + tempString;
  String nodeData3=nodeData2 + ",\"h\":";
  String nodeData4=nodeData3 + humString;
  String nodeData5=nodeData4 + "}";
  
  String apiKeyString="&apikey="; 
  apiKeyString.concat(EMON_APIKEY); //JOIN PARAMETER LITERAL STRING => String Object
  
  String finalData=nodeData5+apiKeyString; //COMBINE BOTH PREVIOUS STRING OBJECTS
  Serial.println(finalData); 
  
  delay(1000);
  String getRequest="GET " + finalData + " HTTP/1.0\r\n"+"Host: " + server + "\r\n" + "Connection: keep-alive\r\n\r\n";
  String requestLength = String(getRequest.length());
  Serial.println("getRequest");
  Serial.println(getRequest);
  
  String sendCmd = "AT+CIPSEND=";//determine the number of caracters to be sent.
  esp.print(sendCmd);
  esp.println(requestLength);
  delay(1000);
  if(esp.find(">")) { 
    Serial.println("Sending.."); 
    esp.print(getRequest);
    if(esp.find("SEND OK")) { 
      Serial.println("Packet sent");
      while (esp.available()) {
        String tmpResp = esp.readString();
        Serial.println(tmpResp);
      }
      // close the connection
      esp.println("AT+CIPCLOSE");
    }
  }
}

I get this in the SM and no post in the emoncms server:

setup
reset
connect to wifi
Got reponse from ESP8266: AT+CWJAP="myssid","mypwd"


Got reponse from ESP8266: WIFI DISCONNEC
connect to wifi
Got reponse from ESP8266: AT+CWJAP="myssid","mypwd"


Got reponse from ESP8266: busy p...

Connected!
Cannot connect to wifi
loop
29.5051.60
TCP connection ready
/emoncms/input/post.json?node=fortnite&json={"t":29.50,"h":51.60}&apikey=mykey
getRequest
 HTTP/1.0
Host: santiapps.com
Connection: keep-alive


Sending..
Packet sent


+IPD,311:HTTP/1.1 400 Bad Request
Server: nginx
Date: Mon, 08 Oct 2018 02:00:11 GMT
C