http request for get json

Dependencies:   HTTPClient

Committer:
quxiaorui
Date:
Sun Nov 08 03:00:08 2020 +0000
Revision:
1:0437cdff5724
Parent:
0:cd14a0821140
support mbed 6.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
quxiaorui 0:cd14a0821140 1 #include "mbed.h"
quxiaorui 0:cd14a0821140 2 #include "HTTPClient.h"
quxiaorui 0:cd14a0821140 3 #include "errno.h"
quxiaorui 0:cd14a0821140 4 NetworkInterface *net = NetworkInterface::get_default_instance();
quxiaorui 0:cd14a0821140 5 void get_json(char *url)
quxiaorui 0:cd14a0821140 6 {
quxiaorui 0:cd14a0821140 7 char buffer[256];
quxiaorui 0:cd14a0821140 8 HTTPJson httpjson(buffer, 256);
quxiaorui 0:cd14a0821140 9 HTTPClient http(net);
quxiaorui 0:cd14a0821140 10 HTTPResult result = http.get(url, &httpjson);
quxiaorui 0:cd14a0821140 11 if (result == HTTP_OK)
quxiaorui 0:cd14a0821140 12 {
quxiaorui 0:cd14a0821140 13 printf("Result Json.\n%s\r\n", buffer);
quxiaorui 0:cd14a0821140 14 }
quxiaorui 0:cd14a0821140 15 else
quxiaorui 0:cd14a0821140 16 {
quxiaorui 0:cd14a0821140 17 printf("Error during download %d\r\n", result);
quxiaorui 0:cd14a0821140 18 }
quxiaorui 0:cd14a0821140 19 }
quxiaorui 0:cd14a0821140 20 int main()
quxiaorui 0:cd14a0821140 21 {
quxiaorui 0:cd14a0821140 22 #ifdef MBED_MAJOR_VERSION
quxiaorui 0:cd14a0821140 23 printf("Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION);
quxiaorui 0:cd14a0821140 24 #endif
quxiaorui 0:cd14a0821140 25 printf("Mbed OS http get json example\n");
quxiaorui 0:cd14a0821140 26 nsapi_size_or_error_t result = net->connect();
quxiaorui 0:cd14a0821140 27 if (result != 0)
quxiaorui 0:cd14a0821140 28 {
quxiaorui 0:cd14a0821140 29 printf("Error! net->connect() returned: %d\n", result);
quxiaorui 0:cd14a0821140 30 return result;
quxiaorui 0:cd14a0821140 31 }
quxiaorui 0:cd14a0821140 32 // Show the network address
quxiaorui 0:cd14a0821140 33 SocketAddress a;
quxiaorui 0:cd14a0821140 34 net->get_ip_address(&a);
quxiaorui 0:cd14a0821140 35 printf("IP address: %s\n", a.get_ip_address() ? a.get_ip_address() : "None");
quxiaorui 0:cd14a0821140 36 net->get_netmask(&a);
quxiaorui 0:cd14a0821140 37 printf("Netmask: %s\n", a.get_ip_address() ? a.get_ip_address() : "None");
quxiaorui 0:cd14a0821140 38 net->get_gateway(&a);
quxiaorui 0:cd14a0821140 39 printf("Gateway: %s\n\n", a.get_ip_address() ? a.get_ip_address() : "None");
quxiaorui 0:cd14a0821140 40 // Get Json
quxiaorui 0:cd14a0821140 41 get_json((char *)"http://ip-api.com/json/?fields=status,query");
quxiaorui 0:cd14a0821140 42 net->disconnect();
quxiaorui 0:cd14a0821140 43 }