問題タブ [fsockopen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - fsockopenでSSLを機能させるにはどうすればよいですか?
私はWindowsでPHP5.2.6を実行していますが、php.iniextension=php_curl.dll
でコメントを外しています。extension=php_openssl.dll
そのようなものとして、私は以下を見ることができますphpinfo
:
これにcURLを有効にすることが不可欠かどうかはわかりませんが、OpenSSLについて言及しているので、完全を期すためにここに含めると思いました。
私がやりたいのは簡単です。SSLを介して別のサーバーにPOSTリクエストを作成しますfsockopen
。
これまでの私のコードはこれです:
もちろん、ポート80を渡して$host
使用するだけであれば、これは問題なく機能します。しかし、SSLを介してこれを送信する必要があり、現在は機能していません。$response
に設定されfalse
、に$errno
とどまり、0
に$errstr
設定されphp_network_getaddresses: getaddrinfo failed: No such host is known.
ます。ポート80を安全に経由しなくても機能するため、サーバーのダウンやホスト名のタイプミスなどの問題ではないことを私は知っています。問題は、SSLに切り替えようとしたときにのみ発生します。
これを機能させるにはどうすればよいですか?
php - PHP で fsockopen() と fgets() を使用しているときに、while() ループがストールしないようにするにはどうすればよいですか?
これは、小さな PHP IRC ボットの基本的な接続コードです。問題は、while() ループが、IRC サーバーからデータを受信するまで fgets() を超えて進行しないように見えることです。IRC サーバーがまだデータを送信していないかどうかに関係なく、while() ループを繰り返します。これは可能ですか?
php - FsockopenがISPサーバーでタイムアウトしました
テスト目的で自宅でApacheサーバーを日光浴していて、英国のISPのアカウントを持っています。ホームサーバーでfsockopenを使用すると、すべてが正常に機能し、さまざまなポートに接続できます(メールサーバーのテストに特に25を使用しています)が、サイトをISPにアップロードすると、fsockopenを使用して接続できなくなります。アウト。
私は彼らが私がこの機能を使用することを妨げる彼らの側にセキュリティ制限があると思います-私はこれを考えるのは正しいですか、これについて別の説明がありますか?
php - PHP で POST リクエストを送信するときに fsockopen にパフォーマンス上の問題があり、fopen ではないのはなぜですか?
フォームの POST をシミュレートするために、2 つの異なる実装を試しました。1 つはfsockopen
(ここの例: http://www.faqts.com/knowledge_base/view.phtml/aid/7962 ) を使用し、もう1 つは (ここのfopen
例: http://netevil.org/blog/2006/nov/http- post-from-php-without-curl )。
いくつかの深刻なパフォーマンスの問題に遭遇しましたfsockopen
- デバッガーでステップ実行すると、すべてが正常に動作しているように見えますが、デバッガーをアタッチしないと、ページの読み込みに非常に時間がかかります (おそらく 10 秒以上)。 fopen
完全に機能します (さらに、応答ヘッダーを解析する必要はありません)。fsockopen
これらのパフォーマンスの問題が発生する理由を知っている人はいますか? タイムアウト設定と関係がありますか?
以下に私のコードを含めました。
php - PHP で CURL を fosckopen に変換する
ライブ サイトのクレジット カード処理の設定に取り組んでいます。PHP は CURL サポート付きでコンパイルされていませんでした。サイトをダウンさせて PHP を再コンパイルしたくないので、提供されているサンプル コードとは別の方法を使用しようとしています。
CURL コードの例:
別の方法を使用する私の試み:
これにより、実際に呼び出している URL から返されますが、形式が正しくないというエラーが返されるため、これは正しくありません。私は CURL またはこの他の方法にあまり詳しくないので、何が間違っているのかわかりません。
php - PHP fsockopenからの奇妙な遅延POST
私はphpコードの次のセクションで作業しています。目的は、あるサーバーから別のサーバーにイメージ ファイルを POST することです。ファイルが < ~250k である限り、これは完全かつ非常に迅速に機能します。250k をはるかに超え、処理時間は最大 60 秒に跳ね上がり、そこから画像サイズが増加します。
何か案は?
ありがとう!
ジョン
php - PHPでのみsphinxへのポートを開くときのfsockopenの問題
php と php のみを sphinx デーモンに接続するときに問題が発生しました。サンプル sphinx php example test.php をテストし、接続の問題に絞り込みました。
問題を示す次のコードがあります。
コマンドラインまたはブラウザから実行するたびに、次のエラーが発生します。
以下のことを確認しました。
- searchd は実際に実行されており、ポート 9312 で実行されています
- searchd は telnet を使用して接続できます
- searchd は、sphinx API で test.py を使用して接続できます
- php はポート 80 に接続できます
これは、私のローカル テスト マシンで正常に動作するため、問題と思われる Westhost VPS で実行されています。問題なくインデックスに対して検索を実行するためにPythonを使用していた既存のコードがあるので、これは私を本当に困惑させます。
いくつかの追加情報、
PHP 5.2.5 スフィンクス 0.9.9 リリース
この問題をさらに診断して修正する方法を知っている人はいますか?
php - Content-disposition を使用してファイルの内容を表示: ソケットを使用した添付ファイル
動的 .csv ファイルの内容を解析したいと考えています。ただし、このコード (明らかに duff ファイル名など):
...ファイルをダウンロードするだけです。
コマンド ラインで openssl を使用すると、まったく同じ要求を入力して、次の応答ヘッダーを返すことができます。
ファイルが自動的にダウンロードされるのを避けるために、 を使用して最初の文字を切り捨てようとしましsubstr
た。これは、ブラウザーが によって出力さfgets
れた応答を現在のドキュメントの一連のヘッダーとして認識できるようにするためです。それはうまくいきませんでした。同じ考えを追求して、ソケットを開く前にたくさんの改行を挿入しようとしましたが、どちらもうまくいきませんでした。
私の2つの質問は次のとおりです。
- ブラウザがファイルをダウンロードする必要があると考える理由は何ですか?
- どうすればそれを止めることができますか?
私はこれまで Chrome しか使っていませんでしたが、なぜそれが違いを生むのかわかりません。
どうもありがとう、アンドレアス
php - PHP でのファイル リソースの永続化
MSN プロトコルに基づいた単純なチャット Web アプリケーションを開発しています。サーバーは、 から返されたファイル リソースを介して MSN サーバーと通信しますfsockopen ()
。クライアントは 経由でサーバーにアクセスしますXMLHttpRequest
。responseText ()
サーバーは最初にログインし、オブジェクトのを通じてクライアントが受け取る連絡先リスト (HTML テーブルでフォーマットされたもの) を出力しXMLHttpRequest
ます。
これが問題です。MSN サーバーとの通信を担当するファイル リソースは、すべてのチャット関連機能 (会話の作成、オフライン/オンライン状態の変化の追跡など) が機能するように維持する必要があります。ただし、XMLHttpRequest
を完了するには、PHP スクリプトの実行を終了する必要があります。XMLHttpRequest
これは、チャット セッションの進行中、クライアントが から応答を得られないことを意味します。
さらに悪いことに、ファイル リソースをシリアル化することはできません。つまり、チャット セッションを$_SESSION []
プレースホルダーに単純に保存することはできません。
それで、私の質問は、ファイルリソースをあるファイルから別のファイルに「転送」する方法はありますか?
fsockopen - データの投稿とコンテンツの受信 fsockopen
fsockopen の使い方がわかりません。fsockopen を使用して、私のものではない Web サイトにデータを投稿する方法の小さな例を投稿してから、投稿データを含むページのソース コードを返してください。
id like の例として、"output" という名前のフォームに 5 を掛けた Web サイトがあるとします。出力 "2" でデータを投稿すると、ページは "10" をエコーするはずです。 「10」と表示されたときにファイルの内容を取得する変数が必要です。