とりあえずPHPでProxy的なものを作る

よくPHPを使用するので、PHPをチョイス。


Proxyなら、URLを指定して、HTMLを取得するだけでいいかな。


そのうちGETもPOSTも使用するはずなので、
$_REQUEST{'url'}


URLを分割するなら
parse_url


結果:
Array
(
[scheme] => http
[host] => www.yahoo.co.jp
[path] => /
)


HTTPを発行するので、とりあえずsocketを生成する。
fsockopenをいつも使用する。
まじめなsocket関数あるけど、送信して受け取るだけだからいいかな。


portが無いときには80番


ブラウザなので、
HTTPリクエストヘッダーをいくつか送信する。

GET / HTTP/1.0
Host: www.yahoo.co.jp


だけでいいか。

送信して、受信する。

それだけで、一応proxy的なものは出来上がる。


受信時に、HTTPレスポンスヘッダーとBody部を分けるなら、
空行が来るまで、1行ごとに取得して、
空行が来たらそのあと全受信する。でおk

http://www.yahoo.co.jp/の結果は、

HTTP/1.1 200 OK
Date: Sat, 06 Jun 2009 11:09:23 GMT
P3P: policyref="http://privacy.yahoo.co. .....省略
Cache-Control: no-cache
Cache-Control: no-store, must-revalidate
Expires: -1
Pragma: no-cache
X-XRDS-Location: http://open.login.yahoo .....省略
Cache-Control: private
Connection: close
Content-Type: text/html; charset=utf-8





.....省略


などなど、そんな感じかしら。
このスピード感でやってたらブラウザ出来るまでどれぐらいかかるんだろうw