Connect to twitter.com and copies this webpage to a file.

Dependencies:   EthernetInterface3 HTTPSClient TLS_axTLS mbed-rtos mbed

This example shows how to use the HTTPSClient library by copying the content of this webpage to a file. Before running this program, you must download these certificates and copy them to the mbed. After running this program, a file called index.htm has been created and you can open it with your favorite browser to display the webpage the mbed have just downloaded.

Revision:
0:d6829ea0374e
Child:
1:ff73b1545aaa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Sep 04 13:40:42 2013 +0000
@@ -0,0 +1,67 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+#include "CertificateManager.h"
+#include "HTTPSClient.h"
+
+const char host[] = "mbed.org";
+const char request[] = "/";
+LocalFileSystem local("local");
+
+int main()
+{
+    EthernetInterface eth;
+    if(eth.init() || eth.connect())
+    {
+        printf("Error with EthernetInterface\n\r");
+        return -1;
+    }
+
+    printf("IP address is %s\n\r", eth.getIPAddress());
+
+    CertificateManager::add("/local/cert1.der");
+    CertificateManager::add("/local/cert2.der");
+    CertificateManager::add("/local/cert3.der");
+    CertificateManager::add("/local/cert4.der");
+    if(!CertificateManager::load(true))
+    {
+        printf("Failed to load certificates\n");
+        return -1;
+    }
+
+    HTTPSClient client;
+    if(!client.connect(host))    
+    {
+        printf("Failed to connect to %s\n", host);
+        return -1;
+    }
+    
+    char buffer[256];
+    int bufferLength = sizeof(buffer)-1;
+    HTTPHeader header;
+    int read = client.get(request, &header, buffer, bufferLength);
+    if(header.getStatus() != HTTP_OK || read < 0)
+    {
+        printf("Failed sending GET request : %s to %s", request, host);
+        return -1;
+    }
+    
+    buffer[read] ='\0';
+    printf("%s", buffer);
+    int totalRead = read;
+    while(totalRead < header.getBodyLength())
+    {
+        if(bufferLength > header.getBodyLength() - totalRead)
+            bufferLength = header.getBodyLength() - totalRead;
+        
+        read = client.get("", NULL, buffer, bufferLength);
+        buffer[read] ='\0';
+        printf("%s", buffer);
+        totalRead += read;
+    }
+    
+    printf("Disconnecting from %s\n", host);
+    client.disconnect();
+    eth.disconnect();
+    
+    return 0;
+}