php 通过file_get_contents获取其他页面的内容(以及模仿表单post提交)
一点一点深入,通过file_get_contents
— 将整个文件读入一个字符串
以下代码直接复制就可以
1,读取文件内容
echo file_get_contents('./demo.txt'); //读取文件demo.txt的内容
2,模拟get请求请求一张百度上的一张图片
// 请求百度上的一张图片
$html = file_get_contents('https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E5%9B%BE%E7%89%87&step_word=&hs=0&pn=1&spn=0&di=180070&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=2534506313%2C1688529724&os=1097436471%2C408122739&simid=3354786982%2C133358663&adpicid=0&lpn=0&ln=1679&fr=&fmq=1588518637445_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fa3.att.hudong.com%2F14%2F75%2F01300000164186121366756803686.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fp7rtwg_z%26e3Bkwthj_z%26e3Bv54AzdH3Ftrw1AzdH3Fwn_89_0c_a8naaaaa8m98bm8d8nmm0cmbanmbm_3r2_z%26e3Bip4s&gsm=2&rpstart=0&rpnum=0&islist=&querylist=&force=undefined');
// var_dump($html); // 我知道,肯定会有人直接打印,但是后果就是显示请求页面的样式或者各种报错,如下图
echo '<pre>';
print_r($http_response_header);
3,模拟post请求
<?php
// 相当于URl的参数
$data = array(
'ceshi' => '我是呢个最靓的仔'
);
$url = "http://xuexiao.weiqingdao.cn/demo.php";
$context = stream_context_create([
'http' => [ //以HTTP请求为键的设置数组
'method' => "POST", // 设置请求方法为POST
'content' => http_build_query($data), //建立一个url后缀,即这里相当于 ceshi=我是呢个最靓的仔
'header' => "Content-type: application/x-www-form-urlencoded;charset=utf-8", //通过设置头文件来设置POST数据格式
'timeout' => 60, //设置请求的超时时间
]
]);
$result = file_get_contents($url, false, $context);
print_r($http_response_header);
echo $result; //获取数据
?>
这是返回的结果
这是请求的网站代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现