Perbezaan antara soket PHP dan curl: 1. Socket ialah struktur data yang boleh digunakan untuk berkomunikasi antara pelayan dan klien 2. Curl menggunakan sintaks URL untuk memindahkan fail dan data , menyokong banyak protokol , seperti FTP, HTTP, TELNET, dsb.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Apakah perbezaan antara php soket dan curl?
Perbezaan antara curl dan soket dalam PHP
PHP menggunakan perpustakaan soket berkely Untuk membuat sambungannya , soket ialah hasil data Anda boleh menggunakan soket ini untuk membuka sesi antara pelayan dan klien. Pelayan sentiasa dalam keadaan mendengar Apabila klien menyambung ke pelayan, ia membuka port yang pelayan sedang mendengar untuk sesi. Pada masa ini, pelayan menerima permintaan sambungan pelanggan dan kemudian melakukan gelung. Kini pelanggan boleh menghantar maklumat kepada pelayan, dan pelayan boleh menghantar maklumat kepada klien.
Untuk menjana soket, anda memerlukan tiga pembolehubah:
1 Protokol
2 Jenis soket
3 🎜> Yang berikut Ini adalah penjelasan terperinci mengenai ketiga-tiga pembolehubah ini, berikan pemahaman yang kasar (saya harap anda boleh ingat untuk ketawa)
1. AF_INET Ini digunakan Protokol yang agak meluas untuk menjana soket, menggunakan penghantaran protokol tcp atau udp, menggunakan alamat ipv4
3, AF_UNIX digunakan pada mesin unix atau Linux, ini Jarang digunakan, hanya digunakan pada sistem Unix atau Linux di mana kedua-dua pelayan dan klien adalah sistem Unix atau Linux.
Jenis soket:
2. SOCK_DGRAM Protokol ini ialah panggilan pemindahan tetap tanpa sambungan. Protokol ini tidak boleh dipercayai dan menggunakan UDP untuk sambungannya.
3. SOCK_SEQPACKET Protokol ini ialah sambungan dwi talian yang boleh dipercayai yang menghantar paket data panjang tetap untuk penghantaran. Pakej ini mesti diterima sepenuhnya sebelum boleh dibaca.
4. SOCK_RAW Jenis soket ini menyediakan akses rangkaian tunggal Jenis soket ini menggunakan protokol awam ICMP. (ping dan traceroute menggunakan protokol ini)
5. SOCK_RDM Jenis ini jarang digunakan dan tidak dilaksanakan pada kebanyakan sistem pengendalian Ia disediakan untuk lapisan pautan data dan tidak menjamin susunan paket data
Jenis protokol awam:
1. ICMP (Internet Control Message Protocol) Internet Control Message Protocol, terutamanya digunakan pada gateway dan hos untuk mengesan keadaan rangkaian dan melaporkan mesej ralat
3. UDP (User Datagram Protocol) ialah protokol penghantaran data tanpa sambungan dan tidak boleh dipercayai.
Baiklah, kini anda tahu bahawa menjana soket memerlukan tiga elemen, jadi socket_create() dalam php memerlukan tiga parameter, protokol, jenis soket dan protokol awam. Jika penciptaan berjaya, socket_create() mengembalikan jenis sumber soket Jika ia tidak berjaya, hehe, maka anda akan menerima false.
1. Penetapan parameter
3. Pemerolehan kandungan halaman4 🎜>
Lihat contoh mudah di bawah.
Oleh kerana PHP’s curl mempunyai banyak operasi, mungkin sangat sukar untuk mengingati kesemuanya, saya tidak dapat mengingati kesemuanya.
Dapatkan sedikit maklumat tentang pelayan
<?php //初始化curl $ch = curl_init (); /* * 设置curl * php手册对于curl_setopt的解释为:设置对于curl传输的操作 * curl_setopt有三个参数:资源(一般为你建立的curl句柄)、操作(你将对这个句柄作何操作)、参数(对于这个操作你给出的参数) */ //例如你想对百度进行某些操作 curl_setopt ( $ch, CURLOPT_URL, "http://www.baidu.com"); //现在看来你要向百度post数据 curl_setopt ( $ch, CURLOPT_POST, 1 ); /*给出了要post的数据:$post_string,post的数据可以是一个文件, *那么你需要以@加上文件的全路径给出,或者你要post一些数据, *那么你可以按照数组形式给出,或者按照字符串给出, *如果你想按照字符串形式给出,请把字符串urlencode,嘿嘿 */ curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_string ); /* *把curl操作的结果以字符串形式 从curl_exec ()返回,而不是直接就输出了 */ curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); //得到操作返回结果 $result = curl_exec ( $ch ); //关闭curl句柄 curl_close ( $ch );
Melalui contoh di atas, anda akan mendapat maklumat berikut:
"url" //Alamat rangkaian sumber
"content_type" //Pengekodan kandungan
"http_code" //Kod status HTTP
"header_size" //saiz pengepala
"request_size" / / Saiz yang diminta
"masa fail" //Masa pembuatan fail
"ssl_verify_result" //Hasil pengesahan SSL
"redirect_count" //Teknologi lompat
"total_time" //Jumlah masa yang dibelanjakan
"namelookup_time " //Masa masa untuk pertanyaan DNS
"connect_time" //Masa masa untuk menunggu sambungan
"pretransfer_time" //Masa masa untuk penyediaan sebelum penghantaran
"size_upload" //Saiz data yang dimuat naik
"size_download" //Saiz data muat turun
"speed_download" //Kelajuan muat turun
"speed_upload" //Kelajuan muat naik
"download_content_length" //Panjang kandungan muat turun
"upload_content_length" // Panjang Muat Naik Kandungan
"starttransfer_time" //Masa untuk memulakan pemindahan
"redirect_time" //Ubah hala memakan masa
Menggunakan curl, anda juga boleh melakukan operasi berikut:
1 . Simulasikan operasi pos halaman
2. Muat naik fail
3. Pengesahan HTTP
4. Muat naik FTP
5. Teknik FQ
6. Fungsi panggil balik
ps:
Mengenai perkara di atas Premis utama curl ialah --with-curlwrappers telah ditambahkan apabila PHP anda dipasang dan disusun Anda boleh menggunakan operasi phpinfo() untuk menyemak sama ada anda menambah perpustakaan sambungan ini semasa penyusunan.
Jika sambungan ini dimuatkan, anda akan melihat sesuatu seperti:
Jika anda tidak mempunyai sambungan ini, anda perlu menukar fail php.ini dan mengalih keluar sambungan =php_curl. Titik koma di hadapan dll.
Baiklah, sekarang kita tahu tentang maksud soket dan curl Socket ialah struktur data yang boleh digunakan untuk berkomunikasi antara pelayan dan pelanggan. Curl menggunakan peraturan sintaks URL untuk memindahkan fail dan data, dan menyokong banyak protokol, seperti FTP, HTTP, TELNET, dsb.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah perbezaan antara soket php dan curl. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!