以下是一个简单的循环发送 HTTP GET 请求的 PHP 代码示例:
<?php
// 设置请求头
$headers = array(
'User-Agent:Mozilla/5.0',
'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language:en-US,en;q=0.5'
);
// 设置请求地址
$url = 'http://www.example.com/api';
// 设置循环次数
$count = 10;
// 循环发送请求
for ($i = 1; $i <= $count; $i++) {
// 发送 GET 请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
// 输出结果
echo "Request #{$i}: {$result}\n";
}
此代码将循环发送 10 次 HTTP GET 请求到指定的地址,并将参数作为请求体发送。你可以根据需要修改循环次数和请求地址。
以下是循环发送 HTTP POST 请求的 PHP 代码示例:
<?php
// 设置请求头
$headers = array(
'User-Agent:Mozilla/5.0',
'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language:en-US,en;q=0.5'
);
// 设置请求地址和参数
$url = 'http://www.example.com/api';
$data = array(
'param1' => 'value1',
'param2' => 'value2'
);
// 设置循环次数
$count = 10;
// 循环发送请求
for ($i = 1; $i <= $count; $i++) {
// 发送 POST 请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
// 输出结果
echo "Request #{$i}: {$result}\n";
}
此代码将循环发送 10 次 HTTP POST 请求到指定的地址,并将参数作为请求体发送。你可以根据需要修改循环次数和请求地址。
我在这两个代码中,都使用了for循环来进行,我们还可以使用sleep()函数来进行每多少秒发送一次请求。
接下来,我示例用每隔5秒发送一次POST请求:
<?php
// 设置请求头
$headers = array(
'User-Agent:Mozilla/5.0',
'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language:en-US,en;q=0.5'
);
// 设置请求地址和参数
$url = 'http://www.example.com/api';
$data = array(
'param1' => 'value1',
'param2' => 'value2'
);
// 设置循环次数
$count = 10;
// 设置发送请求的时间间隔(单位为秒)
$interval = 5;
// 循环发送请求
for ($i = 1; $i <= $count; $i++) {
// 等待时间间隔
sleep($interval);
// 发送 POST 请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
// 输出结果
echo "Request #{$i}: {$result}\n";
}
大致的逻辑思维就是这样,你们可以根据需要进行相应的调整