Can't send data to could server api using GET HTTP with GSM module

I build an arduino based device and connect a GSM900 module to it which sould be able to establish GPRS connection and visit website. Also I have created an account in thingspeak, a cloud server accepts data sent to it in http fassion. It has certain api to accept uploading data and I tested sending data to it with the browser in my PC by visiting https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXX&field1=0, and it does upload data and shows a number as a feedback. The "field" is just the name of that variable which holds that number.

But when I try to do the same thing with the arduino based device via GPRS in the attached sketch, after softSerial.println("GET https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXX&field1=0");
It dosn't repond nor shows the number.

The following is the arduino sketch and all the at command before the line above shows "ok" result.

My question is:
Is there a better way to first test that my GPRS connection is estabished and the gsm module actually can visite any server with http protocol?

In this case, did I do any thing wrong to get http?

Note that I would like to use these standard GSM modules like GSM900 and GSM800L so that it is more flexible.

#include <SoftwareSerial.h>
SoftwareSerial softSerial(51, 52);//
void setup() {
Serial.begin(9600);
softSerial.begin(9600);

Serial.println("Initing...please wait.");

softSerial.println("AT+CPIN?");
delay(500);
printLine();

softSerial.println("AT+CGATT?");
delay(500);
printLine();

softSerial.println("AT+CIPSHUT");
delay(500);
printLine();

softSerial.println("AT+CIPSTATUS");
delay(500);
printLine();

softSerial.println("AT+CIPMUX=0");
delay(500);
printLine();

softSerial.println("AT+CSTT="ZENNET"");
delay(500);
printLine();

softSerial.println("AT+CIICR");
delay(3000);

printLine();
softSerial.println("AT+CIFSR");
delay(1000);
printLine();

//softSerial.println("AT+CIPSPRT=0");
// delay(1000);
// printLine();

softSerial.println("AT+CIPSTART="TCP","api.thingspeak.com","80"");
//AT+CIPSTART="TCP","api.thingspeak.com","80"
delay(3000);
printLine();

softSerial.println("AT+CIPSEND");
delay(13000);
printLine();

softSerial.println("GET https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXX&field1=0");
delay(20000);
printLine();

softSerial.println("#026");
delay(3000);
printLine();

softSerial.println("AT+CIPSHUT");
delay(500);
printLine();

}

void loop() {
}

void printLine() {
String data;
while (softSerial.available() > 0)
{
char c = softSerial.read();
data += c;
}
Serial.println(data);
}