WebClient
De ArduWiki
Este ejemplo muestra cómo hacer una solicitud HTTP usando un modulo (sheald) de Ethernet. Devuelve una búsqueda en Google del término "Arduino". Los resultados de esta búsqueda se envían por monitor serie de Arduino.
Codigo
#include <SPI.h>
#include <Ethernet.h>
//Ethernet shield attached to pins 10, 11, 12, 13
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //MAC del modulo
IPAddress ip(192, 168, 0, 177); //IP del modulo
char server[] = "www.google.com"; //Google (usar DNS)
//IPAddress server(74,125,232,128); //IP de Google (no usar DNS)
EthernetClient client; //Iniciar cliente
void setup() {
Serial.begin(9600);
// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// try to congifure using IP address instead of DHCP:
Ethernet.begin(mac, ip);
}
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println("connecting...");
// if you get a connection, report back via serial:
if (client.connect(server, 80)) {
Serial.println("connected");
// Make a HTTP request:
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Connection: close");
client.println();
}else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
}
void loop() {
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
// do nothing forevermore:
while (true);
}
}