You are not waiting for the server to respond in this section of your code.
if (client.available()) {
char c = client.read();
Serial.print(c);
}
else {
Serial.println();
Serial.println("disconnecting.");
client.stop();
}
Use this instead. This is the "Perfect World" version, but it should work ok as long as the connection doesn't break or the server doesn't stall.
while (client.connected()) {
while(client.available()) {
char ch = client.read();
Serial.print(ch);
}
}
client.stop();