examples for SimpleSocket/EthernetInterface
Dependencies: EthernetInterface SimpleSocket mbed-rtos mbed
examples/httpclient.cpp@0:6dc3cfd058c6, 2013-02-04 (annotated)
- Committer:
- yamaguch
- Date:
- Mon Feb 04 09:29:18 2013 +0000
- Revision:
- 0:6dc3cfd058c6
modified to use SimpleSocket/EthernetInterface
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 0:6dc3cfd058c6 | 1 | #include "SimpleSocket.h" |
yamaguch | 0:6dc3cfd058c6 | 2 | |
yamaguch | 0:6dc3cfd058c6 | 3 | void httpclient() { |
yamaguch | 0:6dc3cfd058c6 | 4 | printf("URL => "); |
yamaguch | 0:6dc3cfd058c6 | 5 | char url[128]; |
yamaguch | 0:6dc3cfd058c6 | 6 | scanf("%s", url); |
yamaguch | 0:6dc3cfd058c6 | 7 | |
yamaguch | 0:6dc3cfd058c6 | 8 | char hostpart[64], host[64], path[128]; |
yamaguch | 0:6dc3cfd058c6 | 9 | int port = 80; |
yamaguch | 0:6dc3cfd058c6 | 10 | sscanf(url, "http://%[^/]%s", hostpart, path); |
yamaguch | 0:6dc3cfd058c6 | 11 | sscanf(hostpart, "%[^:]:%d", host, &port); |
yamaguch | 0:6dc3cfd058c6 | 12 | |
yamaguch | 0:6dc3cfd058c6 | 13 | ClientSocket socket(host, port); |
yamaguch | 0:6dc3cfd058c6 | 14 | |
yamaguch | 0:6dc3cfd058c6 | 15 | if (socket) { |
yamaguch | 0:6dc3cfd058c6 | 16 | socket.printf("GET %s HTTP/1.0\r\n\r\n", path); |
yamaguch | 0:6dc3cfd058c6 | 17 | |
yamaguch | 0:6dc3cfd058c6 | 18 | while (socket) { |
yamaguch | 0:6dc3cfd058c6 | 19 | if (socket.available()) { |
yamaguch | 0:6dc3cfd058c6 | 20 | char buf[128] = {}; |
yamaguch | 0:6dc3cfd058c6 | 21 | socket.read(buf, sizeof(buf) - 1); |
yamaguch | 0:6dc3cfd058c6 | 22 | printf("%s", buf); |
yamaguch | 0:6dc3cfd058c6 | 23 | } |
yamaguch | 0:6dc3cfd058c6 | 24 | } |
yamaguch | 0:6dc3cfd058c6 | 25 | } |
yamaguch | 0:6dc3cfd058c6 | 26 | } |