This example codes uses the wolfssl library to get hastags from Twitter by using the FRDM-K64F board from Freescale

Dependencies:   EthernetInterface-FRDM HTTPClient mbed-rtos mbed wolfSSL WDT_K64F

Fork of SimpleHTTPSClient by wolf SSL

Committer:
wolfSSL
Date:
Mon Dec 08 22:26:51 2014 +0000
Revision:
2:071a8275fa40
Parent:
1:54bce95d1d97
Child:
3:41412e91afb0
Expanded stack size

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wolfSSL 0:dadab10758d2 1 #include "mbed.h"
wolfSSL 0:dadab10758d2 2 #include "EthernetInterface.h"
wolfSSL 0:dadab10758d2 3 #include "HTTPClient.h"
wolfSSL 0:dadab10758d2 4
wolfSSL 1:54bce95d1d97 5 #define SERVER_URL "http://192.168.49.57/574d76fcb/keys.txt"
wolfSSL 1:54bce95d1d97 6 #define SERVER_URL_SSL "https://192.168.49.57/574d76fcb/keys.txt"
wolfSSL 0:dadab10758d2 7
wolfSSL 0:dadab10758d2 8 EthernetInterface eth;
wolfSSL 0:dadab10758d2 9 HTTPClient http;
wolfSSL 0:dadab10758d2 10 char recvBuff[1024*20];
wolfSSL 0:dadab10758d2 11
wolfSSL 2:071a8275fa40 12 void net_main(void const *av)
wolfSSL 0:dadab10758d2 13 {
wolfSSL 0:dadab10758d2 14 int ret ;
wolfSSL 0:dadab10758d2 15
wolfSSL 0:dadab10758d2 16 eth.init(); //Use DHCP
wolfSSL 0:dadab10758d2 17 printf("HTTP Client, Starting,...\n") ;
wolfSSL 0:dadab10758d2 18 while(1) {
wolfSSL 0:dadab10758d2 19 if(eth.connect() == 0)break ;
wolfSSL 0:dadab10758d2 20 printf("Retry\n") ;
wolfSSL 0:dadab10758d2 21 }
wolfSSL 0:dadab10758d2 22
wolfSSL 0:dadab10758d2 23 printf("HTTP Client, IP Address is %s\n", eth.getIPAddress());
wolfSSL 0:dadab10758d2 24
wolfSSL 0:dadab10758d2 25 /*** HTTP ***/
wolfSSL 0:dadab10758d2 26 printf("\nFetching... %s\n", SERVER_URL);
wolfSSL 0:dadab10758d2 27 ret = http.get(SERVER_URL, recvBuff, sizeof(recvBuff));
wolfSSL 0:dadab10758d2 28 if (!ret) {
wolfSSL 0:dadab10758d2 29 printf("Result: %s\n", recvBuff);
wolfSSL 0:dadab10758d2 30 } else {
wolfSSL 0:dadab10758d2 31 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
wolfSSL 0:dadab10758d2 32 }
wolfSSL 0:dadab10758d2 33
wolfSSL 0:dadab10758d2 34 wait(5.0) ;
wolfSSL 0:dadab10758d2 35
wolfSSL 0:dadab10758d2 36 /*** HTTPS (SSL) ***/
wolfSSL 0:dadab10758d2 37 printf("\nFetching... %s\n", SERVER_URL_SSL);
wolfSSL 0:dadab10758d2 38 ret = http.get(SERVER_URL_SSL, recvBuff, sizeof(recvBuff));
wolfSSL 0:dadab10758d2 39 if (!ret) {
wolfSSL 0:dadab10758d2 40 printf("Result: %s\n", recvBuff);
wolfSSL 0:dadab10758d2 41 } else {
wolfSSL 0:dadab10758d2 42 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
wolfSSL 0:dadab10758d2 43 }
wolfSSL 0:dadab10758d2 44
wolfSSL 0:dadab10758d2 45 eth.disconnect();
wolfSSL 0:dadab10758d2 46 while(1) {
wolfSSL 0:dadab10758d2 47 }
wolfSSL 2:071a8275fa40 48 }
wolfSSL 2:071a8275fa40 49
wolfSSL 2:071a8275fa40 50 main()
wolfSSL 2:071a8275fa40 51 {
wolfSSL 2:071a8275fa40 52
wolfSSL 2:071a8275fa40 53 #define STACK_SIZE 20000
wolfSSL 2:071a8275fa40 54 Thread t(net_main, NULL, osPriorityNormal, STACK_SIZE);
wolfSSL 2:071a8275fa40 55
wolfSSL 2:071a8275fa40 56 while (true) {
wolfSSL 2:071a8275fa40 57 Thread::wait(1000);
wolfSSL 2:071a8275fa40 58 }
wolfSSL 0:dadab10758d2 59 }