找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1709|回复: 8

[其它网络视频相关] 编写php代理时候遇到一个奇怪的问题需要大神解决一下

[复制链接]
发表于 2021-7-17 10:50 | 显示全部楼层 |阅读模式
悬赏2恩山币已解决
  1. <?php
  2. //请求http://127.0.0.1/?sex=男&area=大陆&page=1
  3. $sex=$_GET['sex'];
  4. $area=$_GET['area'];
  5. $page=$_GET['page'];
  6. $html= "http://dianying.2345.com/mingxing/list/".$sex."-".$area."-".$page.".html";
  7. $rurl = fileget($html,5);
  8. $rurl=iconv($gb2312, "UTF-8", $rurl,);
  9. $vname = "#<img src="(.*?)" data-src="(.*?)" onerror="javascript:this.src='(.*?)';" alt="(.*?)">#";
  10. preg_match_all($vname, $rurl, $xarr);
  11. $xname = $xarr[4];//名字
  12. $ximg = $xarr[2];//照片
  13. echo $rurl ;
  14. ?>
  15. <?php
  16. function  fileget($url,$timeout = 5) {
  17.         $user_agent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36";
  18.         $curl = curl_init();
  19.         curl_setopt($curl, CURLOPT_URL, $url);
  20.         curl_setopt($curl, CURLOPT_USERAGENT,$user_agent);
  21.         curl_setopt($curl, CURLOPT_REFERER,$url) ;
  22.         curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  23.         curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
  24.         curl_setopt($curl, CURLOPT_HEADER, 0);
  25.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  26.         curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  27.         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, '0');
  28.         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, '0');
  29.         curl_setopt($curl, CURLOPT_ENCODING, '');
  30.         return curl_exec($curl);
  31.         curl_close($curl);
  32. }

  33. ?>
复制代码
自己本地访问http://127.0.0.1/?sex=男&area=大陆&page=1 请求不到直接提示400错误,但是使用get出来的地址自己放到浏览器访问是可以的不知道是哪里出现了问题,寻求大神指点一下

最佳答案

查看完整内容

‘sex=男&area=大陆’转码为‘sex=%E7%94%B7&area=%E5%86%85%E5%9C%B0’
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-7-17 10:50 | 显示全部楼层
‘sex=男&area=大陆’转码为‘sex=%E7%94%B7&area=%E5%86%85%E5%9C%B0’

点评

感觉一个一个的给变量转码很费事有没有方便点的方法  详情 回复 发表于 2021-7-17 12:22
用什么函数转换呀,没弄过这个呀  详情 回复 发表于 2021-7-17 12:15
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-7-17 12:15 | 显示全部楼层
guoma 发表于 2021-7-17 12:06
‘sex=男&area=大陆’转码为‘sex=%E7%94%B7&area=%E5%86%85%E5%9C%B0’

用什么函数转换呀,没弄过这个呀
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-7-17 12:22 | 显示全部楼层
guoma 发表于 2021-7-17 12:06
‘sex=男&area=大陆’转码为‘sex=%E7%94%B7&area=%E5%86%85%E5%9C%B0’

感觉一个一个的给变量转码很费事有没有方便点的方法
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-17 12:41 | 显示全部楼层
本帖最后由 tqx5201 于 2021-7-17 12:44 编辑
  1. $rurl=iconv($gb2312,"UTF-8",$rurl);
  2. $vname = '#<img src="(.*?)" data-src="(.*?)" onerror="javascript:this.src=\'(.*?)\';" alt="(.*?)">#';
复制代码

第8行多了一个逗号
第9行,完全就通不过呀,我给你改成了单引号,然后里边这个单引号用\'转义。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-17 12:45 | 显示全部楼层
第14,15行可以删除的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-17 13:16 | 显示全部楼层
本帖最后由 guoma 于 2021-7-17 13:21 编辑

<?php
$html= "http://dianying.2345.com/mingxing/list/%E7%94%B7-%E5%86%85%E5%9C%B0-1.html";
$rurl = iconv("gb2312","utf-8",file_get_contents($html));
preg_match_all('|<img src="(.*?)" data-src="(.*?)" onerror="(.*?)" alt="(.*?)">|', $rurl, $xarr);
$ximg = $xarr[2];//照片
$xname = $xarr[4];//名字
echo 'http:'.$ximg[1];//每页0,1,2,3........35
echo "\r\n";
echo $xname[1];//每页0,1,2,3........35
?>

点评

老哥有没有采集过xml类型呀,最近要采集个xml类型的不知道怎么入手有没有做好的代码观摩一下呢  详情 回复 发表于 2021-8-5 22:06
感谢大佬问题已经解决了  详情 回复 发表于 2021-7-17 15:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-7-17 15:24 | 显示全部楼层

感谢大佬问题已经解决了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-8-5 22:06 | 显示全部楼层

老哥有没有采集过xml类型呀,最近要采集个xml类型的不知道怎么入手有没有做好的代码观摩一下呢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 08:54

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表