2016-02-19 4 views
9

Image from origin 'http://192.168.1.67:5555' has been blocked from loading by Cross-Origin Resource Sharing policy: Invalid response. Origin 'http://127.0.0.1:8000' is therefore not allowed access.Chrome MJPEG CORS „ungültige Antwort“, wenn img.crossOrigin = „Anonymous“

I Quer Ursprung für diesen MJPEG-Stream zu ermöglichen, müssen wie der Benutzer in der Lage sein muss, das Bild mit einer Taste zu erfassen und ohne CORS die Leinwand ist verdorben.

Ich kämpfe mit diesem Problem in FF und Chrome (IE verwendet eine andere Videoquelle, da es MJPEG nicht unterstützt).

Mein Server gibt auch die zurück, wenn die Seite bedient wird. Das Bild src wird nach dem Setzen von img.crossOrigin = "Anonymous"; in Javascript gesetzt (wenn das verwandt sein könnte). Wenn ich den crossOrigin="Anonymous" entferne, lädt der Strom, aber ich bekomme den verdorbenen Leinwandfehler.

Dank edit: von wireshark, die MJPEG Anfrage:

GET /2d HTTP/1.1 Host: 192.168.1.67:5555 Connection: keep-alive Accept: image/webp,image/*,*/*;q=0.8 Origin: http://127.0.0.1:8000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 Referer: http://127.0.0.1:8000/ Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8,it;q=0.6,pt;q=0.4

HTTP/1.0 200 OK Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET Access-Control-Allow-Headers: Content-Type Content-Type: multipart/x-mixed-replace; boundary=--myboundary

+0

Haben Sie auch 'Option' Anfragen? –

+0

Nein, nur "GET". – Peterdeka

+0

Im Fall von CORS Browser macht 2 Anfragen: ersten Pre-Flight 'OPTIONS' und nur wenn alle Header richtig gesetzt die richtige Anfrage folgt. Sehen Sie [hier] (https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) für eine detaillierte Beschreibung. –

Antwort

1

Ihre Chrom mit diesem Befehl ausführen chrome.exe --disable-web-security sollte

der Quer Ursprung Probleme loszuwerden

I habe eine Chrome-Verknüpfung und das ist das Ziel dafür:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security