У меня есть Ардуино с Щитом Ethernet.
Как я могу подключить его к Интернету через прокси брандмауэра?
Например, библиотека Arduino Ethernet имеет только эту ссылку, чтобы продемонстрировать, как подключить Вашу плату к Интернету, но никакая подсказка, как сделать это через прокси брандмауэра и т.д.
Повторенный от страниц справки Ардуино.
#include
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };
byte server[] = { 64, 233, 187, 99 }; // Google
Client client(server, 80);
void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect()) {
Serial.println("connected");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
} else {
Serial.println("connection failed");
}
}
void loop()
{
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;;)
;
}
}
Как видно, нет никакого пути здесь для разрешения моих соединений TCP через прокси брандмауэра.
Также мне просто любопытно, как этот целый процесс соединения TCP разрешен через прокси брандмауэра в вышеупомянутом контексте, поместите некоторую подходящую ссылку также.
Класс Клиент
не поддерживает ни SOCKS, ни HTTP-прокси. Вам придется самостоятельно изменить код в Ethernet.h
.