Skip to content

Instantly share code, notes, and snippets.

@shishirsharma
Created October 14, 2013 09:51
Show Gist options
  • Save shishirsharma/6973408 to your computer and use it in GitHub Desktop.
Save shishirsharma/6973408 to your computer and use it in GitHub Desktop.
How to access a website with multiple virtual hosts from Arduino Ethernet Shield
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 6, 30 };
byte server[] = { ***, ***, 168, 16 }; // Your VPS
// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
Client client(server, 80);
String response = "";
void setup() {
Ethernet.begin(mac, ip);
Serial.begin(9600);
// Give the Ethernet shield a second to initialize
delay(1000);
Serial.println("Connecting...");
}
void loop() {
if (!client.available() &amp;&amp; client.connect()) {
Serial.println("-- Connected");
// Make a HTTP request:
client.println("GET /bot HTTP/1.0");
client.println("Host: example.com");
client.println("User-Agent: Arduino/Shishir (mail.mastermind [at] gmail.com)");
client.println();
}
if (client.available()) {
char c = client.read();
response.concat(c);
}
if(!client.connected()){
process(response);
//Serial.print(response);
}
if (!client.connected() &amp;&amp; reset == 1) {
Serial.println("disconnecting.");
client.stop();
response = "";
delay(1000*10);
}
}
void process(String response) {
Serial.println(response);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment