Simple HTTPS access example with HTTPClient class
Dependencies: EthernetInterface-FRDM HTTPClient mbed-rtos mbed
main.cpp
- Committer:
- wolfSSL
- Date:
- 2015-02-07
- Revision:
- 4:68c5a3f49a48
- Parent:
- 3:41412e91afb0
File content as of revision 4:68c5a3f49a48:
#include "mbed.h" #include "EthernetInterface.h" #include "HTTPClient.h" EthernetInterface eth; HTTPClient http; char recvBuff[1024*20]; void getline(char *line, int size) { for(int i=0; i<size; i++) { if((line[i] = getchar()) == '\r') { line[i] = '\0' ; putchar('\n') ; break ; } else putchar(line[i]) ; } } void net_main(void const *av) { int ret ; eth.init(); //Use DHCP printf("HTTP Client, Starting,...\n") ; while(1) { if(eth.connect() == 0)break ; printf("Retry\n") ; } /*** HTTP ***/ printf("\nFetching HTTP\n"); ret = http.get("http://SERVER_IP/574d76fcb/keys.txt", recvBuff, sizeof(recvBuff)); if (!ret) { printf("Result: %s\n", recvBuff); } else { printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); } /*** HTTPS (SSL) ***/ printf("\nFetching HTTPS\n"); ret = http.get("https://SERVER_IP/574d76fcb/keys.txt", 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) { } } main() { #define STACK_SIZE 20000 Thread t(net_main, NULL, osPriorityNormal, STACK_SIZE); while (true) { Thread::wait(1000); } }