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

mikan_ist @ yahoo.co.jp mikan_ist @ yahoo.co.jp
2005年 5月 8日 (日) 17:42:47 JST


┏━━━━━━━━━━━━━━…‥‥・・
┃ in MESSAGE: <20050508161104.B55E.KANRYU @ aurora.dti.ne.jp>
┃     日  付: Sun, 08 May 2005 16:17:06 +0900
┃     差出人: KATO Kanryu <kanryu @ aurora.dti.ne.jp>
┃     件  名: [PHP-users 25525] 外部ページにPOSTする方法
┗━━━━━━ への返信です ━━━━━━━━━…‥‥・・

三館です。

pearのRequest.phpで他ページへPOSTはできます。
もしくは、fsockopenでもできます。

例:
<?
    $POST="test_key=test_value";
    $request .= "POST /TARGET.php HTTP/1.0\r\n";
    $request .= "Host: YOUR_DOMAIN\r\n";
    $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $request .= "Content-Length: ".strlen($POST)."\r\n";
    $request .= "Accept: */*\r\n";
    $request .= "\r\n";
    $request .= $POST."\r\n";
    $request .= "\r\n";
    $fp = fsockopen("YOUR_DOMAIN", 80, $errno, $errstr, 30);
    if (!$fp) {
        print $errno."<br>";
        print $errstr."<br>";
        exit;
    }
    fputs($fp, $request);
    $response = "";
    while (!feof($fp)) {
        $response .= fgets($fp, 4096);
    }
    fclose($fp);
?>

以上

| お世話になっております。加藤と申します。
| 
| PHPUnitでテストを書こうと思っているのですが、
| どうせならフォームの入力テストも
| スクリプトで自動化したいと思っています。
| 
| ターゲットとなるフォームページに対して
| GETを行うときにはfopenでGETパラメータを含むURLを
| 記述すればいけると思うのですが、
| POSTを行うときにはどのように記述すればいいのでしょうか。
| 
| PHPマニュアルとGoogleでざっと調べたのですが、
| 残念ながら参考になる記事を見つけることが出来ませんでした。
| 
| # このままだと、フォーム入出力に絡むテストは
| # Perlで書くことになりそうです……。
| 
| _______________________________________________
| PHP-users mailing list  PHP-users @ php.gr.jp
| http://ns1.php.gr.jp/mailman/listinfo/php-users
| PHP初心者のためのページ - 質問する前にはこちらをお読みください
| http://www.php.gr.jp/php/novice.php3



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