Simple HTTPS access example with HTTPClient class

Dependencies:   EthernetInterface-FRDM HTTPClient mbed-rtos mbed

main.cpp

Committer:
wolfSSL
Date:
2014-12-08
Revision:
0:dadab10758d2
Child:
1:54bce95d1d97

File content as of revision 0:dadab10758d2:

#include "mbed.h"
#include "EthernetInterface.h"
#include "HTTPClient.h"

#define SERVER_URL      "http://192.168.1.12/574d76fcb/keys.txt"
#define SERVER_URL_SSL "https://192.168.1.12/574d76fcb/keys.txt"

EthernetInterface eth;
HTTPClient http;
char recvBuff[1024*20];

int main()
{
    int ret ;

    eth.init(); //Use DHCP
    printf("HTTP Client, Starting,...\n") ;
    while(1) {
        if(eth.connect() == 0)break ;
        printf("Retry\n") ;
    }
    
    printf("HTTP Client, IP Address is %s\n", eth.getIPAddress());
    
    /*** HTTP ***/
    printf("\nFetching... %s\n", SERVER_URL);
    ret = http.get(SERVER_URL, recvBuff, sizeof(recvBuff));
    if (!ret) {
        printf("Result: %s\n", recvBuff);
    } else {
        printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
    }
    
    wait(5.0) ;
    
    /*** HTTPS (SSL) ***/
    printf("\nFetching... %s\n", SERVER_URL_SSL);
    ret = http.get(SERVER_URL_SSL, recvBuff, sizeof(recvBuff));
    if (!ret) {
        printf("Result: %s\n", recvBuff);
    } else {
        printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
    }
    
    eth.disconnect();
    while(1) {
    }
}