Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
作业内容:1、把课上知识点练习。
<?php
/**
* curl实现网络请求
* @param $url 请求的网址
* @param $data 数组或者字符串
* @param $is_post 是否是POST请求
* @return $output 返回的json数据
*/
function Mycurl($url, $data=[], $is_post=0)
{
if($is_post){ // POST请求
curl_setopt($ch, CURLOPT_POST, 1); // 表明是POST请求
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}else{ // GET请求
if(is_array($data) && count($data) > 0){
$url .= "?";
foreach($data as $k=>$v){
$url .= $k ."=".$v."&";
}
}
}
$ch = curl_init(); // 初始化,获取CURL句柄
// 开始配置参数
curl_setopt($ch, CURLOPT_URL, $url); //请求URL
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回数据流,而不是直接输出
curl_setopt($ch, CURLOPT_HEADER, 0); //无需响应的header头
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //设置响应超时时间,单位为秒
//去除最后一个拼装的&符号
$url = rtrim($url, '&');
// 执行并获取返回数据
$output = curl_exec($ch);
if($output === false){
$output = "curl error: ". curl_errno($ch);
}
curl_close($ch);
return $output;
}
// 通过聚合接口获取笑话列表
$url = 'http://v.juhe.cn/joke/content/text.php';
$data = [
"page" => 1, // 当前页数,默认1,最大20
"pagesize" => 5, // 每次返回条数,默认1,最大20
"key" => '6ddde091291b4c2b37b385b7d84c1ffd' //key
];
$joke_json = Mycurl($url, $data);
$joke_obj = json_decode($joke_json, true);
echo '<table><tr><th>笑话列表</th></tr>';
foreach($joke_obj['result']['data'] as $k=>$v){
echo '<tr>';
echo '<td>'.$v['content'].'</td>';
echo '</tr>';
}
echo '</table>';
?>
<style>
table{
width: 400px;
border-collapse: collapse;
}
th{
padding: 20px;
}
td{
padding: 15px;
border: 1px solid #ccc;
}
</style>