Simple usage example HTTPClient with wolfSSL
Dependencies: EthernetInterface HTTPClient mbed-rtos mbed wolfSSL
Fork of SimpleHTTPSClient by
main.cpp@2:071a8275fa40, 2014-12-08 (annotated)
- 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?
User | Revision | Line number | New 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 | } |