Ccr
2017-10-15 20:56:53 UTC
Basit bir GET isteği yapmaya çalışıyorum. Ama her zaman -1 durum kodunu alırım. İşte tam kodum.
#include <Arduino.h> # include <ESP8266WiFi.h> # include <ESP8266HTTPClient.h>_P8266HTTPClient.hAilituiientinexx "" Serial.print ("AP'ye Bağlanıyor"); WiFi.begin (AP_SSID, AP_PASSWORD); while (WiFi.status ()! = WL_CONNECTED) {gecikme (1000); Seri.print ("."); }} void setup () {Serial.begin (9600); pinMode (0,1); Serial.begin (9600); gecikme (300); Serial.println ("başlangıç"); WiFi.disconnect (); Serial.println ("bağlantısı kesildi"); wifiConnect (); Serial.println ("Bağlandı");} void döngü () {HTTPClient http; http.begin ("https://calm-falls-41696.herokuapp.com/api/v1/cards"); http.addHeader ("İçerik Türü", "uygulama / json"); int httpCode = http.GET (); Serial.println (httpCode); eğer (httpCode == HTTP_CODE_OK) {Serial.print ("HTTP yanıt kodu"); Serial.println (httpCode); Dize yanıtı = http.getString (); Serial.println (yanıt); } http.end ();}
Wifi bağlantısı başarılı oldu. Ama seri terminalimde her zaman -1 görüyorum. PlatfromIO'yu Visual Studio kodunda kullanıyorum.
Güncelleme 1: URL düzeltildi.
http.begin ("https: // sakin-falls-41696.herokuapp.com/api/v1/cards.json");
Ben de google.com
ile test ettim. Ancak yine de -1 döndürüyor.
Eksiksiz, çalışan eskizinizi gönderin, böylece size yardımcı olun.
@LookAlterno Kodumun tamamını gönderdim.
Bağlanma aşamasında bir hata aldım. Çevremi kontrol etmeliyim. Üzerinde çalışıyorum.
AFAIK, ESP8266HTTPClient HTTPS'yi desteklemiyor. Ayrıca, neden GET yöntemiyle birlikte bir Content-Type başlığı kullanıyorsunuz? Bu hiç mantıklı değil çünkü GET isteklerinin bir gövdesi yok.
Http.begin için web sitesi sertifika ayak izini sağlamanız gerektiğine inanıyorum
Merhabalar, http.post'ta zaman aşımı hatasıyla ilgili bir sorunum var. 2 saniye içinde cihazımdan parçalar halinde veri alıyorum. Bu verileri web sunucuma göndermem gerekiyor. Örnek: 12 KB ... sonra 1 saniye bekle .. sonra 12 KB veri .. Web sunucusunda bağlantıyı sürdürmek ve 24 KB dosya bulundurmak yerine bu istekte 2 ayrı dosya gönderiyor. Bunun için httpclient kullanıyorum ve içerik uzunluğunu da iletmeyi denedim. Ama çalışmıyor. Lütfen kılavuz / yardım / destek.