PHP-Socket-Klasse
Aug 08, 2016 am 09:22 AMWenn ich nichts zu tun habe, kapsele ich selbst eine Socket-Klasse
Die Funktion ist sehr einfach und dieselbe wie die Curl-Funktion
class socketClass{ private $host; private $url; private $error_no = 0; public $error_str = ''; private $port = 80; private $timeout = 5; private $method; private $param; private $fp; private $content = ''; private $header = array(); public function __construct($host, $port, $url, $param, $method='GET', $timeout=5) { $this->host = $host; $this->port = $port; $this->url = $url; $this->timeout = $timeout; $this->method = $method; if(is_array($param)){ $this->param = http_build_query($param); }else{ $this->param = $param; } } private function connect(){ $this->fp = fsockopen($this->host, $this->port, $this->error_no, $this->error_str, $this->timeout); if(!$this->fp){ $this->error_str = 'socket connect failed'; return false; } return true; } private function send(){ $this->fp = ''; if(!$this->connect()){ $this->error_str = 'connect socket failed'; return false; } if($this->method == 'POST'){ $header = "POST $this->url HTTP/1.1\r\n"; }else{ if(!empty($this->param)){ $header = "GET $this->url?$this->param HTTP/1.1\r\n"; }else{ $header = "GET $this->url HTTP/1.1\r\n"; } } $header .= "Content-Length:" . strlen($this->param) . "\r\n"; $header .= "Host:$this->host:$this->port\r\n"; $header .= "Content-Type:application/x-www-form-urlencode\r\n"; $header .= "Connection:close\r\n\r\n"; if($this->method == 'POST'){ $header .= "$this->param\r\n\r\n"; } if(!empty($this->header)){ foreach ($this->header as $key=>$val){ $header .= "$key:$val\r\n"; } } fwrite($this->fp, $header); while(!feof($this->fp)){ $this->content .= fread($this->fp, 1024); } fclose($this->fp); return true; } public function getContent(){ if(!$this->send()){ return false; } $pos = strpos($this->content, "\r\n\r\n"); $this->content = substr($this->content, $pos); return $this->content; } public function setHeader($key, $val){ $this->header[$key] = $val; } public function getErrorStr(){ return $this->error_str; } } $host = 'localhost'; $port = 81; $url = 'http://localhost/phpdemo/php/socket_accept.php'; $param = array('username'=>'beggar', 'passwd'=>'20060400'); $method = 'GET'; $timeout = 10; $http = new socketClass($host, $port, $url, $param, $method, $timeout); $http->setHeader('referer', $url); $http->setHeader('Accept', '*/*'); $header = $http->getContent(); echo $header;
Das Obige hat die PHP-Socket-Klasse und ihre Aspekte vorgestellt. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgeh?use + hochaufl?sende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangeh?use/Keramikgeh?use + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgef?? und Sicherheit hinzugefügt

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verst?ndnis der Grundursache des Problems kann dabei helfen, die richtige L?sung zu finden. Hier sind die h?ufigsten Gründe, warum das Snipping Tool m?glicherweise nicht ordnungsgem?? funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool ge?ffnet wird. Besch?digte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es m?glicherweise besch?digt. Veraltete Grafiktreiber: Inkompatible Treiber k?nnen das Snipping-Tool beeintr?chtigen. St?rungen durch andere Anwendungen: Andere laufende Anwendungen k?nnen mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler w?hrend des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache L?sung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Der Header von Linux bezieht sich auf den Anfang einer Datei oder eines Datenstroms, der Metadaten über den Inhalt enth?lt. Durch korrektes Schreiben und Verwenden der Header-Datei k?nnen Entwickler Systemressourcen besser nutzen und die Lesbarkeit und Lesbarkeit des Codes verbessern. Wartbarkeit.

So implementieren Sie einen Sprung im PHP-Header: 1. Verwenden Sie die Syntax ?Header(“Location:$url“);“ "]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');".

[SpringBoot] übergeben von Parametern im Header durch Feign-Aufrufe So übergeben Sie Header-Parameter durch Feign Problembeschreibung Wenn wir Feign verwenden, um die API-Schnittstelle eines anderen Dienstes in Spring Cloud anzufordern, müssen die Parameter im Header übergeben werden. Wenn nein Wenn eine spezielle Verarbeitung durchgeführt wird, gehen die Parameter im Header verloren. L?sung 1: übergeben Sie es über @RequestHeader(name="headerName"). Beispiel: Feign ist wie folgt definiert: @FeignClient(name="service-name")pub

Unterschiede: 1. Das Head-Tag wird verwendet, um den Kopf des Dokuments zu definieren, der ein Container für alle Head-Elemente ist, und das Header-Tag wird verwendet, um den Header (Einleitungsinformationen) des Dokuments zu definieren. 2. Alle Browser unterstützen das Head-Tag und ?ltere Versionen von Browsern Keiner der Browser unterstützt das Header-Tag und Browser wie IE9+ und h?her müssen das Header-Tag unterstützen.

PHP ist eine leistungsstarke Programmiersprache, mit der dynamische Websites und Webanwendungen erstellt werden k?nnen. Eine der leistungsst?rksten Funktionen ist die header()-Methode von PHP. In diesem Artikel erfahren Sie, wie Sie die header()-Methode von PHP zum Anpassen von Webseiten verwenden.

Vollst?ndige Liste der PHP-Datei-Download-Funktionen: Datei-Download-Beispielanalyse von Readfile, Header, Content-Disposition und anderen Funktionen. Der Datei-Download ist eine der wesentlichen Funktionen in Webanwendungen, und PHP als weit verbreitete Web-Entwicklungssprache bietet viele A Funktion und Methode zum Implementieren des Datei-Downloads. In diesem Artikel werden h?ufig verwendete Datei-Download-Funktionen in PHP vorgestellt, einschlie?lich Readfile, Header und Content-Dispo
