Forum: PC-Programmierung JavaScript, AJAX und das Flag withCredentials


von Berthold (Gast)


Lesenswert?

Mit JavaScript und AJAX versuche ich auf eine IP-Cam zuzugreifen. Was 
leider nicht funktioniert, da der Browser dies verhindert (siehe Meldung 
unten).

Ausgangspunkt:

Diese Seite[1] habe ich so verstanden, dass durch das Setzen des Flags 
withCredentials der Browser einen "Quellübergreifende (Cross-Origin) 
Anfrage" zuläßt.

JavaScript-Auszug:
1
...
2
xmlHttp.open('GET', URL, true);
3
xmlHttp.withCredentials = true;
4
xmlHttp.setRequestHeader("Authorization", "Basic " + btoa(userpass));
5
...

Browsermeldung (Konsole):
1
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://192.168.178.20/cgi/jpg/image.cgi. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt).

Warum blockiert der Browser den Zugriff?

[1]
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials

: Gesperrt durch Moderator
von g457 (Gast)


Lesenswert?

> Warum blockiert der Browser den Zugriff?

Siehe [0].

HF

[0] 
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

von Mario M. (Gast)


Lesenswert?

Ginge nur, wenn Deine Cam den Header "Access-Control-Allow-Origin" 
senden würde. Siehe: 
https://de.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

von Daniel F. (df311)


Lesenswert?

da du die Kamera wahrscheinlich nicht anpassen kannst, bietet sich ein 
"Curl-Wrapper" an:
du setzt einen Request an deinen Webserver ab, der fragt die Kamera ab 
und liefert die Daten zurück.

setzt allerdings voraus, dass du einen Server verwendest, auf dem du 
dynamische Anfragen verarbeiten kannst...

Beitrag #5615065 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.