http://www.im286.com/viewthread.php?tid=1550010&extra=page%3D1
Sebenarnya, masalah ini telah dibahas n kali
Care4 juga telah disebutkan dua kali, jadi jika Anda memiliki masalah, yang terbaik adalah mencari terlebih dahulu, mungkin seseorang telah menyelesaikan masalahnya
http://www.im286.com/viewthread. ...; Sorot =%2BCare4
http://www.im286.com/viewthread. ...; Sorot =%2BCare4
Satu kerugian kecil dari kode Care4 adalah bahwa ia membutuhkan komponen.
Yang pertama adalah .NET Component 2, tetapi selalu tidak nyaman untuk menggunakan komponen. Apakah ada cara untuk mendapatkan ASP secara langsung?
Ada jawaban
Saya menulis kode Winsock sederhana VB untuk didapatkan
http://www.im286.com/viewthread. ... t = respons.redirect
Pada saat itu, saya mengatakan bahwa saya tidak bisa mendapatkannya dengan ASP, karena saya tidak pergi ke CSSDN pada waktu itu, dan sekarang saya sudah selesai.
Pertama -tama kita perlu memahami mengapa komponen xmlhttp tidak dapat memperoleh alamat lompatan seperti itu
Gunakan response.redirect untuk melompat, dan php adalah header ("lokasi", $ url);
Prinsip kedua metode adalah sama, yaitu menambahkan bidang lokasi ke header http output
Pada saat yang sama, atur nilai status http yang dikembalikan ke 302, dan browser akan mempertimbangkan bahwa halaman yang saat ini diminta telah
Dipindahkan ke jalur yang ditentukan berdasarkan lokasi
Jadi mengapa xmlhttp tidak dapat diperoleh?
Alasannya sangat sederhana
Komponen XMLHTTP terlalu pintar saat memproses 302 pesan yang berisi header lokasi, sehingga melompat langsung ke halaman terakhir, yang berarti kita tidak dapat melihat proses perantara! Bill pintar!
Untungnya, MSXML4 menyediakan komponen baru yang tersedia: winhttp.winhttpRequest.5.1, yang juga merupakan inti dari komponen MSXML4 XMLHTTP. Winhttp.winhttpRequest memiliki properti yang sangat kritis: opsi. Indeks keenam properti ini menunjukkan apakah akan secara otomatis melompat. Kemudian Anda dapat dengan mudah menggunakan metode GetResponseader dan GetAllResponseader dari komponen XMLHTTP untuk mendapatkan informasi header HTTP yang dikembalikan.
Oke, mari kita lihat kodenya berikutnya
Redup ohttp
Setel ohttp = server.createObject ("winhttp.winhttpRequest.5.1"
OHTTP.Option (6) = 0 'Pengalihan otomatis dilarang, yang paling penting adalah membaca data, diperkirakan semua orang akan melakukannya.
OHTTP.SetTimeouts 5000.5000.30000.5000'set Timeout ~ Sama seperti komponen serverxmlhttp
ohttp.open "get", surl, false 'terbuka URL dalam mode sinkron
Jika ohttp.status <> 200 dan ohttp.status <> 302
'OHTTP.Status sesuai dengan status HTTP dikembalikan. Jika 200, itu berarti bahwa ini adalah halaman terakhir dan tidak ada lompatan lokasi
'Jika 302, itu berarti bahwa URL dari permintaan saat ini telah dipindahkan dan perlu diarahkan sesuai dengan header HTTP.
'Kami pada dasarnya tidak menangani keadaan dengan nilai -nilai numerik lainnya, tetapi Anda dapat menanganinya seperti 440 atau negara lain sendiri!
Kalau tidak
'Header HTTP yang dikembalikan dan konten dokumen diproses di sini
Akhiri jika
Nah, kode lengkapnya lebih lama
Saya menyerahkannya ke ruang untuk melihatnya sendiri
http://test.aymtv.com/url.asp
Kode di bilah input default adalah alamat unduhan CRSKY. Anda dapat mengujinya dan mengetahuinya
Klik untuk melihat kode sumber untuk melihat kode sumber file ASP ini!
Semuanya sudah selesai. Terus pergi ke CSDN dan bercampur
Kode Lengkap: