php get_headers は、戻り値が 200 で、存在しないスクリプト実行タイムアウトが発生したかどうかを判断します。
php get_headers は、戻り値が 200 であるかどうかを判断します。存在しないスクリプト実行タイムアウト
と存在しない IP アドレスが発生した場合、関数がタイムアウトするまで応答を待ちます。これにより、ページが遅延し、表示できません。
ストリームを開けませんでした: HTTP リクエストが失敗しました!
致命的なエラー: 最大実行時間 30 秒を超えました
Set ini_set('max_execution_time', 10);
この関数を使わずに自分でソケットを書いてみませんか? 面倒なので他に良い方法はありますか?
--- ---解決策- ------------------
話し合う------解決策------------------
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )最後のパラメータ $ Set timeout を 5 に設定すると、最大接続時間を 5 秒に設定します。期限切れの関数は戻り、プログラムは終了しません。
------解決策------------------
PHP の get_headers 関数は完璧ではないとしか言えません。 自分にポイントを与えることができないので、次のとおりです。完全なコードは他の人にも使用できます。
PHP コード
。 関数 DoGet($url) { $url2 = parse_url($url); if(!isset($url2['path']))$url2['path']=''; $url2["パス"] = ($url2["パス"] == "" ? "/" : $url2["パス"]); $url2["ポート"] = (isset($url2["ポート"])?$url2["ポート"]:80); $host_ip = @gethostbyname($url2["host"]); $fsock_timeout =2 //2秒; if(!($fsock = fsockopen($host_ip, $url2["port"], $errno, $errstr, $fsock_timeout))) { // エコー 'fsockopen 失敗'; false を返します。 } $request = $url2["パス"] .(isset($url2["クエリ"]) ? "?".$url2["クエリ"] : ""); $in = "GET " . $request "; $in .= "受け入れる: */*rn"; $in .= "ユーザーエージェント: Payb-Agentrn"; $in .= "ホスト: " . $url2["ホスト"] . $in .= "接続: 閉じるrnrn"; stream_set_timeout( $fsock , $fsock_timeout ) ; if(!@fwrite($fsock, $in, strlen($in))){ //エコー 'fwrite 失敗'; fclose($fsock); false を返します。 } $status = stream_get_meta_data( $fsock ); // データ送信タイムアウト if($status['timed_out'] ) { // エコー "書き込みタイムアウト" ; fclose( $fsock ); false を返します。 } $out = null; while($buff = @fgets($fsock, 2048)) { $out .= $buff; //ヘッダー情報のみを読み取る if(false!==strpos($out, "rnrn"))break; } $status = stream_get_meta_data( $fsock ); // データ読み取りタイムアウト if( $status['timed_out'] ) { // エコー「読み取りタイムアウト」 ; fclose( $fsock ); false を返します。 } fclose($fsock); $pos = strpos($out, "rnrn"); $head = substr($out, 0, $pos); //http ヘッド $head を返します。 } $rs= DoGet("http://www.ba05afasdfsiddf08usfa.com"); if(!$rs)echo '失敗'; それ以外の場合は $rs;

ホット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 関数の紹介 - get_headers(): URL の応答ヘッダー情報の取得の概要: PHP 開発では、Web ページまたはリモート リソースの応答ヘッダー情報を取得する必要があることがよくあります。 PHP 関数 get_headers() を使用すると、対象 URL の応答ヘッダー情報を簡単に取得し、配列の形式で返すことができます。この記事では、get_headers() 関数の使用法を紹介し、関連するコード例をいくつか示します。 get_headers() 関数の使用法: get_header

keepalive_timeouthttp にはキープアライブ モードがあり、リクエストの処理後に TCP 接続を開いたままにするよう Web サーバーに指示します。クライアントから他のリクエストを受信した場合、サーバーは別の接続を確立せずに、この閉じられていない接続を使用します。 httpkeep-alive、Web ページ上のすべてのリクエストは http (画像、CSS など) であり、http リクエストを開くには、まず TCP 接続を確立する必要があります。ページがリクエストごとに TCP 接続を開いたり閉じたりする必要がある場合keepalive_timeout の無駄は、http リクエストが完了しても、その TCP 接続が維持されることです。

現在、ゲームを愛する多くの Windows ユーザーが Steam クライアントにアクセスし、優れたゲームを検索、ダウンロードしてプレイすることができます。ただし、多くのユーザーのプロフィールがまったく同じ名前である可能性があるため、プロフィールを見つけたり、Steam プロフィールを他のサードパーティのアカウントにリンクしたり、Steam フォーラムに参加してコンテンツを共有したりすることさえ困難になります。プロファイルには一意の 17 桁の ID が割り当てられます。ID は変更されず、ユーザーがいつでも変更することはできませんが、ユーザー名またはカスタム URL は変更できます。いずれにせよ、一部のユーザーは自分の Steamid を知らないため、これを知ることが重要です。アカウントの Steamid を見つける方法がわからなくても、慌てる必要はありません。記事上で

エラーの理由は、urllib3 ライブラリの例外タイプである NameResolutionError(self.host,self,e)frome です。このエラーの理由は、DNS 解決が失敗したこと、つまり、ホスト名または IP アドレスが試みられたことです。解決できるものが見つかりません。これは、入力された URL アドレスが間違っているか、DNS サーバーが一時的に利用できないことが原因である可能性があります。このエラーを解決する方法 このエラーを解決するにはいくつかの方法があります。 入力された URL アドレスが正しいかどうかを確認し、アクセス可能であることを確認します。 DNS サーバーが利用可能であることを確認します。コマンド ラインで「ping」コマンドを使用してみてください。 DNS サーバーが利用可能かどうかをテストします。プロキシの背後にある場合は、ホスト名の代わりに IP アドレスを使用して Web サイトにアクセスしてみてください。

url を使用して、クラス java.net.URLDecoder.decode(url, decoding format) decoder.decoding メソッドのエンコードとデコードをエンコードおよびデコードします。通常の文字列に変換するには、URLEncoder.decode(url, エンコード形式) を使用して、通常の文字列を指定された形式の文字列に変換します。 packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net。 URLエンコーダ

Win11 システムをアップグレードした後、多くのユーザーは、クロックウォッチドッグタイムアウト ブルー スクリーンなどのブルー スクリーンを経験します。これを解決するにはどうすればよいでしょうか?ユーザーはドライバーを更新したり、過熱の問題などを確認したりできます。このサイトでは、win11のクロックウォッチドッグタイムアウトのブルースクリーンの解決策をユーザーに丁寧に紹介します。 win11 のクロックウォッチドッグタイムアウト ブルー スクリーンの解決策 1. ドライバーを更新します。CPU とマザーボードのドライバーを更新すると、問題が解決される可能性があります。製造元の Web サイトにアクセスして、最新のドライバーをダウンロードできます。 2. 過熱の問題を確認します。過熱もこのエラーの原因の 1 つである可能性があります。

Vue アプリケーションで axios を使用するときに「エラー: timeoutofxxxmsexceeded」が発生した場合はどうすればよいですか?インターネットの急速な発展に伴い、フロントエンド技術は常に更新され、改良が重ねられており、Vue は優れたフロントエンド フレームワークとして近年皆様に歓迎されています。 Vue アプリケーションでは、ネットワーク リクエストを行うために axios を使用する必要があることがよくありますが、「エラー: timeoutofxxxmsexceeded」というエラーが発生することがあります。

マザーボード上の SPDIFOUT 接続線の順序 最近、ワイヤの配線順序に関する問題に遭遇しました。ネットで調べたところ、1、2、4がアウト、+5V、グラウンドに相当するという情報もあれば、1、2、4がアウト、グラウンド、+5Vに相当するという情報もありました。最善の方法は、マザーボードのマニュアルを確認することです。マニュアルが見つからない場合は、マルチメーターを使用して測定できます。最初にアースを見つけてから、残りの配線の順序を決定します。マザーボードの VDG 配線の接続方法 マザーボードの VDG 配線を接続するときは、VGA ケーブルの一端をモニターの VGA インターフェイスに差し込み、もう一端をコンピューターのグラフィックス カードの VGA インターフェイスに差し込む必要があります。マザーボードの VGA ポートに差し込まないよう注意してください。接続すると、次のことが可能になります
