Jadual Kandungan
Gunakan proksi terbalik untuk menyelesaikan masalah silang domain
Menyebarkan COR di mana -mana sahaja
Menggunakan proksi terbalik dalam iframe
Gunakan curl untuk mendapatkan kod sumber halaman (alternatif)
Meringkaskan
Rumah pembangunan bahagian belakang tutorial php Cara memaparkan atau mensimulasikan pratonton mudah alih laman web pengguna di laman web

Cara memaparkan atau mensimulasikan pratonton mudah alih laman web pengguna di laman web

Aug 30, 2025 pm 06:18 PM

Cara memaparkan atau mensimulasikan pratonton mudah alih laman web pengguna di laman web

Bagaimana untuk membenamkan pratonton mudah alih laman web sasaran di laman web anda? Oleh kerana batasan dasar homolog, menggunakan iframes secara langsung mungkin mengalami masalah silang domain. Artikel ini akan memperkenalkan penggunaan proksi terbalik untuk menambah tajuk CORS untuk menyelesaikan masalah silang domain, dan memberikan contoh menggunakan iframes dan proksi terbalik untuk melaksanakan pratonton mudah alih, dan juga menyebut secara ringkas bagaimana menggunakan curl untuk mendapatkan kod sumber halaman.

Gunakan proksi terbalik untuk menyelesaikan masalah silang domain

Memuatkan laman web sasaran secara langsung di iframe mungkin menghadapi "menolak untuk menyambung" kesilapan kerana dasar homolog penyemak imbas menghalang permintaan silang domain. Untuk menyelesaikan masalah ini, anda boleh menggunakan proksi terbalik, yang bertindak sebagai orang tengah, mendapat kandungan dari pelayan sasaran dan mengembalikannya kepada klien, sambil menambah tajuk CORS (Sumber Sumber Domain).

CORS di mana -mana adalah proksi terbalik NodeJS yang biasa digunakan secara automatik menambah tajuk CORS.

Menyebarkan COR di mana -mana sahaja

  1. Pasang NODEJS dan NPM: Pastikan NodeJS dan NPM (Pengurus Pakej Node) dipasang pada pelayan anda.

  2. Pasang CORS di mana sahaja: Gunakan NPM untuk memasang CORS di mana sahaja:

     NPM Install -g Cors -Anywhere
  3. Jalankan Cors Di mana sahaja: Mulakan perkhidmatan di mana sahaja:

     CORS-Anywhere-Origin "*" --Requireheader Asal
    • --origin "*" membolehkan permintaan dari mana-mana domain (persekitaran pengeluaran tidak disyorkan, nama domain yang dibenarkan harus ditentukan).
    • -Asal asal memerlukan permintaan mesti mengandungi tajuk asal.

Menggunakan proksi terbalik dalam iframe

Selepas menggunakan CORS di mana -mana, anda boleh menggunakan URL proksi dalam iframe.

 <iframe id="pratonton-frame1" src="http:%20//%20your-cors-anywhere-server/https:%20//www.kd-brows.com/" gaya="ketinggian: 547px; lebar: 320px;">/iframe></iframe>

Gantikan http: // your-cors-anywhere-server dengan alamat CORS anda di mana sahaja. https://www.kd-brows.com/ Gantikan dengan alamat laman web yang anda mahu pratonton.

Nota:

  • Keselamatan: --origin "*" mempunyai risiko keselamatan dalam persekitaran pengeluaran dan harus dikonfigurasikan untuk membolehkan akses hanya ke nama domain anda.
  • Prestasi: Menggunakan proksi terbalik meningkatkan latensi permintaan kerana pelayan tambahan diperlukan.
  • CORS di mana -mana batasan: CORS di mana sahaja sendiri mungkin mempunyai had kadar atau sekatan lain dan perlu diselaraskan mengikut keadaan sebenar.
  • Sekatan pada laman web sasaran: Sesetengah laman web mungkin masih menghalang akses melalui proksi, walaupun tajuk CORS ditambah.

Gunakan curl untuk mendapatkan kod sumber halaman (alternatif)

Cara lain ialah menggunakan Curl untuk mendapatkan kod sumber HTML laman web sasaran di sebelah pelayan, dan kemudian menghuraikan dan memaparkannya di laman web anda. Kaedah ini boleh memintas dasar homolog pelayar, tetapi memerlukan sokongan sisi pelayan.

Contoh PHP:

  Php
fungsi get_page_content ($ url) {
  $ ch = curl_init ();
  curl_setopt ($ ch, curlopt_url, $ url);
  curl_setopt ($ ch, curlopt_returntransfer, 1);
  curl_setopt ($ ch, curlopt_useragent, 'mozilla/5.0 (Windows NT 10.0; win64; x64) Applewebkit/537.36 (khtml, seperti gecko) chrome/58.0.3029.110 safari/537.36'); // Tetapkan pengguna-agen
  $ output = curl_exec ($ ch);
  curl_close ($ ch);
  pulangan $ output;
}

$ url = 'https://www.kd-brows.com/';
$ content = get_page_content ($ url);

// Proses $ Kandungan di sini, sebagai contoh, mengeluarkan kandungan utama dan memaparkan echo "<ce>". htmlspecialchars ($ kandungan). "</ce>
"; ?>

Nota:

  • Agen Pengguna: Menetapkan curlopt_useragent boleh mensimulasikan tingkah laku pelayar dan mengelakkan akses yang ditolak oleh laman web sasaran yang diiktiraf sebagai crawler.
  • Analisis halaman: Selepas mendapatkan kod sumber HTML, ia perlu dihuraikan dan diekstrak kandungan yang perlu dipaparkan. Anda boleh menggunakan domdokumen PHP atau perpustakaan parsing HTML yang lain.
  • Pemuatan Sumber: Curl hanya akan memperoleh kod sumber HTML dan tidak akan memuat sumber secara automatik seperti CSS, JavaScript, dan lain -lain. Sumber -sumber ini perlu diproses secara manual, seperti mengubahsuai URL untuk menunjuk ke pelayan anda.
  • Risiko Undang -Undang: Apabila merangkak dan menggunakan kandungan dari laman web lain, anda mesti mematuhi undang -undang dan peraturan yang berkaitan dan syarat penggunaan Laman Web.

Meringkaskan

Artikel ini menerangkan dua cara untuk memaparkan atau mensimulasikan pratonton mudah alih laman web pengguna di laman web: menggunakan proksi terbalik dan menggunakan curl untuk mendapatkan kod sumber halaman. Kaedah menggunakan proksi terbalik adalah mudah dan mudah digunakan, tetapi memerlukan penggunaan dan penyelenggaraan pelayan proksi terbalik. Kaedah menggunakan curl lebih fleksibel, tetapi memerlukan parsing halaman dan pemuatan sumber, dan risiko undang -undang perlu diberi perhatian. Kaedah mana untuk dipilih bergantung pada keperluan khusus dan keupayaan teknikal anda.

Atas ialah kandungan terperinci Cara memaparkan atau mensimulasikan pratonton mudah alih laman web pengguna di laman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana cara memeriksa sama ada alamat e -mel sah dalam php? Bagaimana cara memeriksa sama ada alamat e -mel sah dalam php? Sep 21, 2025 am 04:07 AM

UseFilter_var () TOVALIDATEMailSyntaxandCheckDnsrr () TOVERIFYDOnMAINMXRECORDS.example: $ e -mel = "user@example.com"; if (filter_var ($ e -mel, filter_email) && checkDnsrr (expode '

Bagaimana membuat salinan atau klon objek yang mendalam dalam php? Bagaimana membuat salinan atau klon objek yang mendalam dalam php? Sep 21, 2025 am 12:30 AM

UseUnserialize (Serialize ($ obj)) fordeepcopyingWhenallDataisserizable; jika tidak, pelaksanaan__clone () tomanuallyduplicatenestedObjectsandavoidsharedReferences.

Bagaimana untuk menggabungkan dua tatasusunan dalam PHP? Bagaimana untuk menggabungkan dua tatasusunan dalam PHP? Sep 21, 2025 am 12:26 AM

UseArray_Merge () toCombineArrays, OverwritingDuplicateStringKeySandreIndexingNumericKeys; forsimplerconcatenation, terutamaInphp5.6, usethesplatoperator [... $ array1, ... $ array2].

MySQL Agregasi Bersyarat: Gunakan Penyataan Kes untuk Melaksanakan Sumsum dan Mengira Kondisi Simpanan MySQL Agregasi Bersyarat: Gunakan Penyataan Kes untuk Melaksanakan Sumsum dan Mengira Kondisi Simpanan Sep 16, 2025 pm 02:39 PM

Artikel ini membincangkan secara mendalam bagaimana menggunakan pernyataan kes untuk melakukan pengagregatan bersyarat di MySQL untuk mencapai penjumlahan bersyarat dan mengira bidang tertentu. Melalui kes sistem langganan praktikal, ia menunjukkan bagaimana secara dinamik mengira jumlah tempoh dan bilangan peristiwa berdasarkan status rekod (seperti "akhir" dan "membatalkan"), dengan itu mengatasi batasan fungsi jumlah tradisional yang tidak dapat memenuhi keperluan pengagregatan bersyarat kompleks. Tutorial menganalisis penerapan pernyataan kes dalam jumlah fungsi secara terperinci dan menekankan pentingnya bersatu ketika berurusan dengan nilai nol yang mungkin dari gabungan kiri.

Bagaimana cara menggunakan ruang nama dalam projek PHP? Bagaimana cara menggunakan ruang nama dalam projek PHP? Sep 21, 2025 am 01:28 AM

Namespacesinphporganizecodeandpreventnamingnamingconflictsbygroupinglasses, antara muka, fungsi, dan constantsunderaspecificname.2.defineAnamespaceusingthenamespaceywordetopofafile, diikuti olehbythenamespaceakenam

Apakah kaedah sihir dalam php dan memberikan contoh `__call ()` dan `__get ()`. Apakah kaedah sihir dalam php dan memberikan contoh `__call ()` dan `__get ()`. Sep 20, 2025 am 12:50 AM

The__call () methodistriggeredWhenaninaccessibleorundefinedmethodiscalledonanObject, membolehkanCustomHandlylyAccepteThemeThodnamnamnamnents, asshownwhencallingundefinedmethodslikesayhello ()

Bagaimana untuk mendapatkan sambungan fail dalam PHP? Bagaimana untuk mendapatkan sambungan fail dalam PHP? Sep 20, 2025 am 05:11 AM

UsePathinfo ($ FileName, pathinfo_extension) togetthefileextension; itreliLyHandlesmultipledotsandgecases, returnTheExtension (mis., "Pdf") Oranemptystringifnoneexists.

Bagaimana untuk mengemas kini rekod dalam pangkalan data dengan PHP? Bagaimana untuk mengemas kini rekod dalam pangkalan data dengan PHP? Sep 21, 2025 am 04:47 AM

Toupdateadatabaserecordinphp, firstConnectusingPdoormySqli, thenusePePreparedStatementStoExecuteAseCureSqlupDateQuery.example: $ pdo = newpdo ("mysql: host = localhost; dbName = your_database: $ userbase: $ userbase"

See all articles