2016-02-19 32 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 „nieprawidłową odpowiedź”, gdy img.crossOrigin = „Anonymous”

muszę pozwolić pochodzenie przekrój dla tego strumienia MJPEG jako użytkownik musi być zdolny do przechwytywania obrazu z jednego przycisku i bez tych CORS płótno jest skażone.

Mam problem z tym problemem w FF i Chrome (IE używa innego źródła wideo, ponieważ nie obsługuje MJPEG).

Mój serwer zwraca również Access-Control-Allow-Origin: * podczas serwowania strony. Obraz src jest ustawiany w JavaScript (jeśli to może być powiązane) po ustawieniu img.crossOrigin = "Anonymous";. Po usunięciu crossOrigin="Anonymous" strumień zostanie załadowany, ale wystąpi błąd związany z plamami na płótnie.

Dzięki edit: z Wireshark, wniosek MJPEG:

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

Czy obsługujesz również żądania "opcji"? –

+0

Nie, po prostu 'GET'. – Peterdeka

+0

W przypadku przeglądarki CORS wykonuje 2 żądania: pierwsze "OPCJE" przed lotem i tylko wtedy, gdy wszystkie nagłówki są prawidłowo ustawione, następuje prawidłowe żądanie. Zajrzyj [tutaj] (https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS), aby uzyskać szczegółowy opis. –

Odpowiedz

1

uruchomić Chrome z tym poleceniem chrome.exe --disable-web-security powinien pozbyć się problemów przekroju pochodzenia

I mają chromowany skrót i jest to jego cel:

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