PHP はソケットリクエストを模倣してページを返すメソッドを実装します、phpsocket_PHP チュートリアル
PHPは、ソケットリクエストを模倣してページを返すメソッド、phpsocket
を実装しますこの記事の例では、PHP がソケットリクエストを模倣してページを返すメソッドを実装する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
; $parse = parse_url($url); // URL を解析し、そのコンポーネントを返します。
$host = $parse['host'];
$path = $parse['path'];
$ポート = 80;
$タイムアウト = 80;
$fp = @fsockopen($host, $port, $errno, $errstr, $timeout) // ソケットリンクを開きます
if (!$fp){
Echo $errno."--".$errstr; //エラーがある場合は、エラーコードとエラーメッセージを返します
} その他 {
$out = "POST $path HTTP/1.1rn"; //以下はHTTPリクエストヘッダー情報です
$out .= "ホスト: ".$host."rn";
$out .= "受け入れる: */*rn"; $out .= "接続: 閉じる";
$out .= "クッキー: $cookiernrn";
@fwrite($fp, $out); //リンクにリクエスト情報を書き込みます
$status = ストリーム_get_meta_data($fp); If(!$status['timed_out']) {
While (! Feof ($ fp)) {
If(($header = @fgets($fp)) && ($header == "rn" || $header == "n")) {
壊す; $stop = false; $data = fread($fp,8192); $return .= $data; fclose($fp);
print_r($return);
}
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
php はページを 400 回以上ループする必要があり、そのたびに戻り時間が不確定になり、その結果、アクセス時間が超過してしまうことがよくあります。
1. js の setInterval+ajax を使用してリクエストし、PHP で条件を追加して成功したかどうかを判断します。
echo $ url.'\t\n--------';
$r = @file_get_contents($url);//ここで返すのは次がない場合のページ数です。ページにアクセスすると、0 が返され、実行が停止されます。 );}?> ;
phpはソケットを使用してWebコンテンツを取得します
function GETBySocket($URL, $port=80) {
//URL からホストを取得
preg_match('/\/\/.*\//sU',$URL,$host_array);
if(!$host_array[0]) {
$URL.='/';
preg_match('/\/\/.*\//sU',$URL,$host_array);
}
$host=substr ($host_array[0],2,-1);
//connect
$fp = stream_socket_client("$host:$port", $errcode, $errstr, 1);// または die("get ". $ホスト ." 失敗しました");
//
$header = "GET ". $URL。 " HTTP/1.1\r\n";
$header .= "受け入れる: */*\r\n";
$header .= "Accept-Language: zh-cn\r\n";
//$header .= "HTTP_CONNECTION: Keep-Alive\r\n";
$header .= "HTTP_ACCEPT: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\ r\n";
$header .= "HTTP_ACCEPT_CHARSET: gbk,*,utf-8\r\n";
//$header .= "Accept-Encoding: gzip, deflate\r\n";
$header .= "ユーザー エージェント: Mozilla/4.0(互換性; MSIE 6.0; Windows NT 5.1;)\r\n";
$header .= "ホスト: "。 $host ."\r\n";
//$header .= "接続: キープアライブ\r\n";
//$header .= "Cookie: cnzz02=2; rtime=1; ltime=1148456424859; cnzz_eid=566......残り下全文>>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています
