Membuat klien web di Dart

Saya memulai dengan Dart, dan saya ingin membuat aplikasi untuk membuat permintaan http ke halaman web dan mungkin mengubahnya menjadi ekstensi chrome, semua ini dengan Dart.

Masalah yang saya alami adalah saya tidak tahu cara mengirim HttpRequest ke halaman ini "http://www.1001tracklists.com/" untuk mengambil konten html dan kemudian mengatur semua sesi di aplikasi saya dengan html dan css.

Yang saya coba hanyalah membuat HttpRequest normal, tetapi saya menerima kesalahan karena permintaan CORS, dan saya tidak tahu bagaimana menyelesaikan masalah dengan header.


person ELKOKACOLO    schedule 24.12.2013    source sumber


Jawaban (3)


Server akan diminta untuk melakukan modifikasi untuk memasukkan header CORS untuk memungkinkan permintaan jarak jauh menanyakan sumber daya dari server mereka.

Sebagian besar (semua?) browser modern secara otomatis memasukkan CORS sehingga setiap permintaan dari browser tersebut akan secara otomatis membuat header Origin: dalam permintaan tersebut. Jika server penerima tidak memiliki header Access-Control-Allow-Origin: yang cocok dengan Asal Anda, permintaan akan gagal.

Alternatifnya mungkin dengan memiliki skrip di server Anda yang menanyakan data dan Anda melakukan polling ke server Anda sendiri untuk mengambil data. Lihat Spesifikasi CORS untuk detail lebih lanjut.

person Matt B    schedule 24.12.2013
comment
Meskipun benar dalam kasus umum, pertanyaan yang terkait dengan Google Chrome Extension mengubah banyak hal secara drastis (lihat Jawaban Zig Mandel). - person gkalpak; 25.12.2013

Dengan ekstensi chrome Anda dapat melewati kors hanya dengan menyatakan url yang perlu Anda akses di manifes Anda. Cari di ekstensi chrome. Lihat: http://developer.chrome.com/extensions/declare_permissions.html

person Zig Mandel    schedule 24.12.2013

Anda perlu menambahkan header CORS seperti di atas jika Anda memiliki kendali atas sisi server Anda, atau mengatur Apache/nginx untuk melakukan ini untuk Anda sebagai proxy terbalik, atau Anda memerlukan akses ke server proxy CORS.

Lihat di sini untuk mengetahui apakah ini dapat membantu Anda.

person user2685314    schedule 24.12.2013