绿色榕树
忆江南
业余无线电
UID:2 管理员
zhangjingyu 像这样的“来自:中国–山东–聊城 移动”这里面的短横线或者叫连接符,可以在写入数据表之前替换为空,这样就能美观些,这个再说吧。除了排行榜页面,在最上面的论坛页头的用户名弹出菜单里也可以看到登录ip,如52楼所示位置,我们继续研究这个页面。 (2025-12-07 09:55) 查看本帖
zhangjingyu <?php // 此处填写你在控制台-应用管理-创建应用后获取的AK $ak = '您的AK'; // 发起一个http get请求,并返回请求的结果....... (2025-12-07 10:35) 查看本帖
<?phprequire_once ('../global.php');//保存在一级子目录用这行global $db_olsize,$windid,$onlineip;function request_get($url = '', $param = array()) { if (empty($url) || empty($param)) { return false; } $getUrl = $url . "?" . http_build_query($param); $curl = curl_init(); // 初始化curl curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_URL, $getUrl); // 抓取指定网页 curl_setopt($curl, CURLOPT_TIMEOUT, 1000); // 设置超时时间1秒 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0); // curl不直接输出到屏幕 curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header $data = curl_exec($curl); // 运行curl if (!$data) { print("an error occured in function request_get(): " . curl_error($curl) . "\n"); } curl_close($curl); return $data; } // 请求地址 $url = 'https://www.ip138.com/iplookup.asp'; // 构造请求参数 $param['ip'] = '58.242.38.155'; $param['action'] = '2'; //完整地址示例,http_build_query($param)把参数组合起来 //$getUrl = $url . "?" . http_build_query($param); //https://www.ip138.com/iplookup.asp?ip=58.242.38.155&action=2 $res = request_get($url, $param); //echo($res . "\n");?>
理解 CURLOPT_RETURNTRANSFER在 PHP 的 cURL 库中,CURLOPT_RETURNTRANSFER 选项用于控制 cURL 传输的结果。当设置为 true 时,它会将传输结果作为字符串返回,而不是直接输出到当前脚本的标准输出中。这允许程序员捕获 cURL 传输的输出,并根据需要进行进一步处理。
图片:快照3.jpg
$begin=strpos($res,'ASN');$end=$begin+50;$str=substr($res,$begin,$end);//截取页面
图片:快照4.jpg
$begin2=strpos($str,'div');$str2=substr($str,0,$begin2);//再次截取页面
ASN归属地":"安徽省合肥市巢湖市 联通 ", "iP段":"58.242.38.0 - 58.242.38.255", "兼容IPv6地址":"::3AF2:269B", "映射IPv6地址":"::FFFF:3AF2:269B", "ip_c_list":[{"begin":988947968, "end":988948223, "ct":"中国", "prov":"安徽省", "city":"合肥市", "area":"巢湖市", "idc":"", "yunyin":"联通", "net":""}], "zg":0}; var ip_begin = 988948123; <
// 检测字符的编码格式 $encode = mb_detect_encoding($string, array('ASCII','UTF-8','GB2312','GBK','BIG5')); echo $encode; // 转换编码格式 if ($encode == 'UTF-8'){ $string = iconv('UTF-8','GBK',$string); }
GB2312最常用的表示方法EUC-CN是GB2312字符编码标准的一种实现方式,在浏览器编码表中常以“GB2312”名称指代,采用双字节编码结构 [1] [4]。该编码兼容ASCII字符集,通过区位码转换机制将汉字映射至特定编码 [3-4]。作为GB2312在Windows系统中的常见实现,EUC-CN被用于记事本文件编码转换及字幕文件解码场景 [1-2]。其编码体系基于ISO2022标准,使用94x94字符平面定义6763个汉字及682个符号,同时支持厂商扩展字符 [3] [5]。相较于HZ和ISO-2022-CN等7位编码方案,EUC-CN直接采用8位编码空间实现汉字表示 [3]