PHP において、Proxy経由での接続を実装する上で、Proxyだけの実装と、直接接続での実装は、同様となってしまうため、Proxy専用のみならず、直接接続機能も実装している。また、ftp や https(PHPの新版で実装)は、PHPの機能を借りて稼動します(Proxy機能の効能はありません)。 ちなみに、この Proxy.inc は、 PukiWiki 依存しないように設計しています。
定義内容の修正に関して 以下の2つの方法があります。
define("PROXY_USE", "1"); define("PROXY_IP", "192.168.1.1"); define("PROXY_PORT", "8080"); define("PROXY_LOCAL", "proxy.local"); define("PROXY_ALLOW", "proxy.allow");この定義の場合での PROXY_LOCAL などは、pukiwiki.ini.php と同じディレクトリから読み込まれることになります。
proxy.local... 先頭が # または、空行はコメントとして無視される。
記述例 192 192* 192.* 192.168 192.168.* 192.168.1 172 195.141.71.234
例えば、 http://php.benscom.com/manual/ja と指定して、ja は、ディレクトリなのでja/ で終わるべきであるが、この場合は、サーバ側から、Location ヘッダーと共に、再度、接続しなおすように指定される。この場合は、クライアントの責任において、再取得しなおさならければならない。この機能の実装。
同様に、Content-Length がゼロの場合の処理も含む。
この機能は、パラメータで無効にできるようにしている。
meta タグに、url=... でジャンプ先が指定されている場合に、自動で再取得する機能。
frame 分割されている場合における、 PukiWiki は、そもそも、フレーム分割していないので、その状態では、HTMLファイルを取り込むことができないため、最後に指定されたframe src=... のファイルを自動で取り込むようになっている。
proxy | Proxy利用有無 |
url | URL |
loc | 自動移動先URL |
data | データ |
text | テキスト時は、1 を戻す |
direct | 直接取得指示 |
save | 保存ファイル名(物理保存ファイル名) |
file | ダウンロードファイル名(サーバ側想定ファイル名) |
auto | 自動移動指示 |
last | Last-Modifiedヘッダーボディから UNIXタイムスタンプに変換後の値 |
type | Content-Typeヘッダーボディ |
size | Content-Lengthヘッダーボディ |