Ви не увійшли.
Сторінки 1
Підкажіть,будь ласка, чи можливо використати один Ethernet - shield в якості web-сервера і клієнта зовнішнього сервера і
яким чином ?
Добрий день !
Не вдаэться справитись з такою проблемою.
Є процедура, яка в залежності від вхідного параметра, запускає php-скрип з різними змінними одного і того зовнішнього сервера
void sendValues(int flg){
if ( client.connect(zzz, 80)) {
if (flg==0)
client.println("GET /stat.php?val=1 HTTP/1.1");
else
client.println("GET /stat.php?status=1 HTTP/1.1");
client.println("Host: ardufbb.zzz.com.ua");
client.println("User-Agent: arduino-ethernet");
client.println("Connection: close");
client.println(); //snd=true;
if (flg==0) {
client.flush();
client.stop();
}
}
else {
Serial.println("connection failed");
}
}
Перший раз ця процедура запускається в void Setup ()
void Setup () {
sendValues(0);
}
І все чудово відпрацьовує.
Другий раз цю процедуру з іншим параметом я запускаю уже кожну хв в loop()
void loop(){
if (millis() > 30000){
sendValues(1);
}
client.stop();
І тут я завжди отримую "connection failed". Таке враження ,що не завершуэться попереднє з"єднання.
Нюанс заключався в двох моментах-
char zzz[]="ardufbb.zzz.com.ua";
................
if (Ardo.connect(zzz, 80)) {
Ardo.println("GET /stat.php HTTP/1.1");
Ardo.println("Host: ardufbb.zzz.com.ua");
Ardo.println("User-Agent: arduino-ethernet"); //добавив цей рядок
Ardo.println("Connection: close");
Ardo.println(); //в запиті передаю лише один перехід на новий рядок
}
З google працює , значить з хостінгом zzz.com.ua є якийсь нюанс
приклад з библиотеки Ethernet для класа EthernetClient()
відрізняється лише використанням HTTP 1.0, а результат той самий
Добрий день!
Б"юсь уже як муха об вікно уже 2 дні. Використовую безкоштовний веб-хостинг, на якому є php- скрипт
За допомогою цієї процедури пробую запустити скрипт на сервері :
void sendValues(){
if (Ardo.connect("ardufbb.zzz.com.ua", 80)){
Ardo.print( "GET /stat.php");
Ardo.println(" HTTP/1.1");
Ardo.println( "Host: ardufbb.zzz.com.ua" );
Ardo.println( "Connection: close");
Ardo.println();
Ardo.println();
}
else {Serial.println("no connection");}
}
Сервер відповідає помилкою "400 Bad Request" .
Перешерстив весь google . Начеб-то код правильний.
Підкажіть, будь ласка, може хтось стикався?
Сторінки 1