[PHP-users 25528] Summary: 外部ページにPOSTする方法

KATO Kanryu kanryu @ aurora.dti.ne.jp
2005年 5月 8日 (日) 19:20:02 JST


加藤です。


> pearのRequest.phpで他ページへPOSTはできます。
>  $request .= "POST /TARGET.php HTTP/1.0\r\n";
>  .......
>  $fp = fsockopen("YOUR_DOMAIN", 80, $errno, $errstr, 30);

サンプルソースありがとうございます。
確かにこのやり方だと一番低レベルですから(RFCのまんまという意)
確実に送信できますね。HTTPプロトコル以外にも応用が利くので、
今後の参考にしたいと思います。

ただ、今回はライブラリの呼び出しで済む範囲でという風に考えています。

さきほど、同じくPEARで HTTP_Request というのを見つけました。
これを使えばPOSTもGETもおなじやり方で呼び出せそうです。

<?
    include('HTTP/Request.php');

    $req = &new HTTP_Request('http://www.php.net');
    $req->setMethod(HTTP_REQUEST_METHOD_POST);
    $req->addPostData('Foo', 'bar');
    $req->sendRequest();
    $response1 = $req->getResponseBody();
    
    $req->setMethod(HTTP_REQUEST_METHOD_GET);
    $req->setURL('http://pear.php.net');
    $req->clearPostData();
    $req->sendRequest();

    $response2 = $req->getResponseBody();

    echo $response1;
    echo $response2;

?>



PHP-users メーリングリストの案内