短縮 URL 探索、URL 探索_PHP チュートリアル
短い URL 探索、URL 探索
はじめに
以下のような短縮URLが一般的です
http://dwz.cn/CSW6Y => http://www.cnblogs.com/iforever/p/4313704.html、
http://dwz.cn/CSWuP => http://www.cnblogs.com/iforever/p/4279006.html など
これらの URL にアクセスすると、前と後ろのペアが同じページを指します。これらの短い URL は、weibo などのソーシャル ネットワークでよく見られるものです。今回はその威力を発揮し、短くて覚えやすいですが、欠点もあります。たとえば、短い URL では URL 内の一部の情報が直接表示されない場合があります (長い URL では一部の情報が表示されます)。
私は一日中これにさらされていたので、その原理を本当に理解する前に、私の心に「何もない」という刷り込みができました。これは、心理学では心理的暗示と呼ぶべきです。 、これが事実であることを知っている人はいますか?
原則
まず、これはリダイレクトによって実現されていると思いますが、dwz.cn はこれらの短い URL を受信するために使用されるサーバーであり、dwz.cn には短い URL に対応する長い URL が存在します。 URL のレコードを取得し、短い URL に対応する長い URL をデータベースから取得し、302 でリダイレクトします。これが当てはまるかどうかを確認してください。
ブラウザーで http://dwz.cn/CSW6Y にアクセスし、リクエストを分析します (ここでは Chrome のデバッグ ツールを使用するか、Wireshark などのツールを使用できます)。次のデータを取得できます。
名前: abit
バージョン: 1
ハンドル:
- 書き換え: if (!-d && !-f && path ~ "/(.*)$") goto "do.php?url=$1&act=out"
ハンドル: 以下は Sina Cloud の具体的な詳細ルールです。 http://sae.sina.com.cn/doc/php/runtime.html#php-app-config を参照してください。 nginx、apacheの構成も同様です。
リダイレクトの完了後に注意すべきもう 1 つの点は、パラメーターを渡すときに urlencode を実行する必要があり、リダイレクトの前に urldecode を使用する必要があることです。 urlencode を使用せずに URL 型パラメータを渡すと、取得時に情報の一部が失われる可能性があるため、ショート リンクを生成する前にパラメータを渡す場合は、URL をエスケープし、特殊な文字列をエンコードし、ショート リンクを暗号化する必要があります。エンコードされた URL を URL デコードして通常のリンクに戻す必要があります。そうしないと、ヘッダージャンプ後に URL が通常の URL として認識されなくなります。前のページでは、http://abit.sinaapp.com/www.cnblogs.com と同様に、エラーが発生する可能性があるため、ここでは特に注意してください。
Sae にはリダイレクト時に問題があり、二重のバックスラッシュを自動的に 1 つにフィルタリングします。たとえば、http://abit.sinaapp.com/ から http:/abit.sinaapp.com/ に、ここに欠落があることに注意してください。処理するときは特に注意してください。そうしないと、不要な問題が発生する可能性があります。
エンコーディング
メイン処理部分
リーリー
結果
テストできる小さなウェブページを作成しました:
http://abit.sinaapp.com/興味がある方はぜひ試してみてください
この記事の著作権は著者 ifforever (luluyrt@163.com) に帰属します。記事を転載した後は、著者と原文リンクを明記する必要があります。記事ページに掲載されない場合は、法的責任が留保されます。

ホット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)

ホットトピック









Python パッケージ マネージャーは、Python パッケージを管理およびインストールするための強力で便利なツールです。しかし、使い方に注意しないと、さまざまな罠に陥る可能性があります。この記事では、これらの落とし穴と、開発者がそれらを回避するための戦略について説明します。トラップ 1: インストールの競合の問題: 複数のパッケージが同じ名前でバージョンの異なる関数またはクラスを提供すると、インストールの競合が発生する可能性があります。応答: インストール前に依存関係をチェックして、パッケージ間に競合がないことを確認してください。依存関係の自動インストールを回避するには、pip の --no-deps オプションを使用します。落とし穴 2: 古いバージョンのパッケージの問題: バージョンが指定されていない場合、より安定した、またはニーズに合った古いバージョンがある場合でも、パッケージ マネージャーは最新バージョンをインストールすることがあります。応答: インストール時に必要なバージョンを明示的に指定します (例: p)

C++ で HTTP ストリーミングを実装するにはどうすればよいですか? Boost.Asio と asiohttps クライアント ライブラリを使用して、SSL ストリーム ソケットを作成します。サーバーに接続し、HTTP リクエストを送信します。 HTTP 応答ヘッダーを受信して出力します。 HTTP 応答本文を受信して出力します。

分散システムとマルチコア プロセッサの台頭により、最新のソフトウェア開発では同時コレクションが重要になっています。 Java 同時コレクションは、同時アクセスの複雑さを管理しながら、効率的でスレッドセーフなコレクション実装を提供します。この記事では、新機能とトレンドに焦点を当てて、Java での同時コレクションの将来について探ります。新機能 JSR354: 復元力のある同時コレクション jsR354 は、極端な同時実行条件下でもパフォーマンスと信頼性を確保するための、柔軟な動作を備えた新しい同時コレクション インターフェイスを定義します。これらのインターフェイスは、変更可能な不変式やノンブロッキング反復のサポートなど、アトミック性の追加機能を提供します。 RxJava3.0: リアクティブな同時コレクション RxJava3.0 では、リアクティブ プログラミングの概念が導入され、同時コレクションをリアクティブ データ フローと簡単に統合できるようになります。

バージョン管理システム (VCS) は、開発者がコードの変更を追跡および管理できるようにする、ソフトウェア開発に不可欠なツールです。 git は、Java 開発で広く使用されている、人気のある強力な VCS です。このガイドでは、Git の基本概念と操作を紹介し、Java 開発者にバージョン管理の基本を提供します。 Git リポジトリの基本概念: コードとバージョン履歴が保存される場所。ブランチ: コード ベース内の独立した開発ライン。開発者は、開発の主要ラインに影響を与えることなく変更を加えることができます。コミット: コードベース内のコードへの変更。ロールバック: コードベースを以前のコミットに戻します。マージ: 2 つ以上のブランチの変更を 1 つのブランチにマージします。 Git 入門 1. Git をインストールする 公式 Web サイトからダウンロードしてダウンロードします

ファイルは、コンピュータ システムにおける情報の保存と管理の基本単位であり、Java ファイル操作の中核でもあります。ファイルを効果的に操作および管理するには、ファイルの性質を理解することが重要です。抽象化と階層 ファイルは本質的に、ディスクやメモリなどの永続的な媒体に格納されているデータのセットを表す抽象化です。ファイルの論理構造は通常、オペレーティング システムによって定義され、データを整理してアクセスするためのメカニズムを提供します。 Java では、ファイルは File クラスによって表され、ファイル システムへの抽象アクセスを提供します。データの永続性 ファイルの重要な特性の 1 つは、データの永続性です。メモリ内のデータとは異なり、ファイル内のデータはアプリケーションが終了した後も保持されます。この永続性により、ファイルは情報の長期保存や共有に役立ちます。

PHP を使用して URL パスのサフィックスを削除する方法を説明します。Web サイト開発では、より美しく標準化された URL を実現するために、URL パスのサフィックスを削除する必要があることがよくあります。今日は、PHP を使用して URL パスのサフィックスを削除する方法を学びます。この問題を一緒に調べてみましょう。まず、どのような効果を達成したいのかを明確にする必要があります。通常、URL パス接尾辞は、.php、.html などの URL 内のファイル拡張子を指します。私たちの目標は、ユーザーがサフィックスが付いた URL にアクセスすると、自動的にその URL に移動することです。

PHPPhar 拡張機能は、PHP 開発者にスクリプト、ライブラリ、リソースをパッケージ化する強力かつ柔軟な方法を提供します。 Phar アーカイブを作成すると、開発者はファイル システムのアクセス許可や依存関係を気にすることなく、複雑なアプリケーションを簡単にデプロイおよび配布できます。 Phar ファイルの利点 単一ファイルのデプロイメント: Phar アーカイブは、アプリケーションのすべてのコンポーネントを単一のファイルにパッケージ化し、配布とデプロイメントを容易にします。独立性: Phar ファイルはファイル システムから独立しているため、アプリケーションは PHP インタープリターを備えた任意のマシン上で実行できます。コード保護: Phar ファイルを暗号化して、コンテンツを不正アクセスから保護できます。バージョン管理: Phar 拡張機能は Phar ファイルのバージョン管理サポートを提供し、開発者が Phar ファイルを追跡できるようにします。

クロスプラットフォーム開発は、複数のオペレーティング システム上で同時にシームレスに実行されるアプリケーションを構築するために重要です。 Python と Jython は、主要なプログラミング言語として、クロスプラットフォーム開発のための強力なソリューションを提供し、その可能性を解き放ちます。 Python のクロスプラットフォーム互換性 Python は、仮想マシンを使用してコードを実行するインタープリタ言語です。このアーキテクチャにより、Python コードを Windows、Linux、MacOS、モバイル デバイスなどの複数のプラットフォームで実行できます。 Python は幅広いプラットフォームをサポートしているため、クロスプラットフォーム アプリケーションの構築に最適です。さらに、Python には、データ処理や WEB 開発から機械学習やデータに至るまで、幅広い機能を提供するサードパーティ ライブラリの豊富なエコシステムがあります。
