Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Wio_3G_HTTP-GET-example by
main.cpp
00001 #include "mbed.h" 00002 #include "easy-connect.h" 00003 #include "https_request.h" 00004 00005 Serial pc(USBTX, USBRX); 00006 00007 /* List of trusted root CA certificates 00008 * This is the root CA for Google from GeoTrustGlobalCA 00009 * 00010 * To add more root certificates, just concatenate them. 00011 */ 00012 const char SSL_CA_PEM[] = "-----BEGIN CERTIFICATE-----\n" 00013 "MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G\n" 00014 "A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp\n" 00015 "Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1\n" 00016 "MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG\n" 00017 "A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\n" 00018 "hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL\n" 00019 "v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8\n" 00020 "eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq\n" 00021 "tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd\n" 00022 "C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa\n" 00023 "zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB\n" 00024 "mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH\n" 00025 "V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n\n" 00026 "bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG\n" 00027 "3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs\n" 00028 "J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO\n" 00029 "291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS\n" 00030 "ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd\n" 00031 "AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\n" 00032 "TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n" 00033 "-----END CERTIFICATE-----"; 00034 00035 void dump_response(HttpResponse* res) { 00036 mbedtls_printf("Status: %d - %s\n", res->get_status_code(), res->get_status_message().c_str()); 00037 00038 mbedtls_printf("Headers:\n"); 00039 for (size_t ix = 0; ix < res->get_headers_length(); ix++) { 00040 mbedtls_printf("\t%s: %s\n", res->get_headers_fields()[ix]->c_str(), res->get_headers_values()[ix]->c_str()); 00041 } 00042 mbedtls_printf("\nBody (%d bytes):\n\n%s\n", res->get_body_length(), res->get_body_as_string().c_str()); 00043 } 00044 00045 int main() { 00046 pc.baud(115200); 00047 00048 NetworkInterface* network = easy_connect(true); 00049 if (!network) { 00050 return 1; 00051 } 00052 00053 // GET request to firebase.google.com 00054 { 00055 printf("\n----- HTTPS GET request -----\n"); 00056 00057 HttpsRequest* get_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_GET, "https://firebase.google.com/styles/docs.css"); 00058 get_req->set_debug(true); 00059 00060 HttpResponse* get_res = get_req->send(); 00061 if (!get_res) { 00062 printf("HttpRequest failed (error code %d)\n", get_req->get_error()); 00063 return 1; 00064 } 00065 printf("\n----- HTTPS GET response -----\n"); 00066 dump_response(get_res); 00067 00068 delete get_req; 00069 } 00070 00071 Thread::wait(osWaitForever); 00072 } 00073
Generated on Wed Jul 13 2022 05:40:21 by
1.7.2
