特定のGETデータが提供された場合にのみPOSTデータを処理するtest.phpファイルにPOSTデータを送信しようとしています。残念ながら、それを行う方法がわかりません。約1時間探し続けています。
私は現在、この素晴らしいものでたくさん遊んでいるので、助けていただければ幸いです。
前もって感謝します;
明確化:
次のような index.php があるとします。
<?php
if (isset($_GET['p']))
echo count($_POST) . ' -- ' . count($_GET);
else echo 'fuuu';
?>
<form action="?p" method="POST">
<input type="submit" name="lolw" value="Go" />
</form>
そのフォームを送信すると、PHP$_GET
と$_POST
スーパーグローバルの両方に 1 つの要素が含まれます。
それでは、nodeJS を介してそのフォームを実行してみましょう。
これが私のテストケースです(これは単にドクからのカットペーストです):
var http = require('http');
var options = {
hostname: 'localhost',
port: 80,
path: '/test.php?lolw=1&p',
method: 'POST'
};
var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
}).on('error', function (e) {
console.log('error in chunk');
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.toString());
});
// write data to request body
req.write('data\n');
req.end();
CLI の出力では、body: 0 -- 2 が返され、フォームに従います。
私のポイントは: GET を介していくつかのパラメーターを送信し、POST を介していくつかのパラメーターを送信し、GET を介して送信する必要があるパラメーターと POST を介して送信する必要があるパラメーターを指定することは可能ですか?