吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1481|回复: 2
收起左侧

[已解决] 易语言正常,php怎么调试也有问题,麻烦大佬帮忙看看哪里的问题

[复制链接]
dych1688 发表于 2020-12-23 16:35
本帖最后由 dych1688 于 2020-12-23 20:08 编辑

采集个数据,主要分两步:
1.访问第一个网址获取cookies,类似于这个样子:shop_json=9hOSyO6z2YDR_bc6rfFAdj2DtDpVkW50jLLIkuWQLgM5CvwUSdeyW7d_aQI0GqwuOaew;
2. 带着上一步获取的cookies访问第二个网址。

以上程序易语言正常,但是php怎么也获取不了,哪位大佬帮忙看看php哪里的问题?十分感谢
易语言和php源码下载地址
https://wwa.lanzouj.com/iG1axjmpc8b

php源码
[PHP] 纯文本查看 复制代码

<?php
$page=1;

//取文本中间的函数
function getSubstr($str, $leftStr, $rightStr)
{
    $left = strpos($str, $leftStr);
    //echo '左边:'.$left;
    $right = strpos($str, $rightStr,$left);
    //echo '<br>右边:'.$right;
    if($left < 0 or $right < $left) return '';
    return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
}
//取文本右边的函数
function getSubstrRight($str, $leftStr)
{
    $left = strpos($str, $leftStr);
    //echo '左边:'.$left;
    if($left < 0 ) return '';
    return substr($str, $left + strlen($leftStr));
}

function caiji_waa($currpage){

//初始化
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, 'http://yaxige.waa.cn/');
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 1);
//获取请求头
curl_setopt($curl, CURLINFO_HEADER_OUT, 1);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_NOBODY, 1);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36');
//curl_setopt($curl, CURLOPT_POST, 0);
//执行命令
$data = curl_exec($curl);
//echo $data;
//print_r($_SERVER);

$headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
// 根据头大小去获取头信息内容
$header = substr($data, 0, $headerSize);
//print_r($header);
$cookie='shop_json='.getSubstr($header , "shop_json=", ';').";";
echo $cookie;
//print_r(curl_getinfo($curl));
//关闭URL请求
curl_close($curl);
//显示获得的数据
//print_r($header);
//echo $cookie;

//初始化
$curl = curl_init();

//设置抓取的url

curl_setopt($curl, CURLOPT_URL, 'http://yaxige.waa.cn/home/index/index_do');

//设置头文件的信息作为数据流输出

//curl_setopt($curl, CURLOPT_HEADER, 1);

//设置获取的信息以文件流的形式返回,而不是直接输出。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

//设置post提交cookies
curl_setopt($curl,CURLOPT_COOKIE,$cookies);

curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

//设置post方式提交

curl_setopt($curl, CURLOPT_POST, 1);

//设置post数据

$post_data = "";

//post提交的数据

curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);

//执行命令

$data = curl_exec($curl);

//关闭URL请求

curl_close($curl);

//显示获得的数据
//print_r(curl_getinfo($curl));
//echo $data;
print_r($data);

}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>欢迎您!</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"> </script>
</head>
<body>
<?php caiji_waa($page); ?>
</body>
</html>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhshazi523 发表于 2020-12-23 16:58
给你修改了一下
[PHP] 纯文本查看 复制代码
<?php
$page=1;
function caiji_waa($currpage){
$cookie_jar = dirname(__FILE__)."/cookie.cookie";
//初始化
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, 'http://yaxige.waa.cn/');
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 1);
//获取请求头
curl_setopt($curl, CURLINFO_HEADER_OUT, 1);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_NOBODY, 1);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36');
//curl_setopt($curl, CURLOPT_POST, 0);
//执行命令
$data = curl_exec($curl);
//echo $data;
//print_r($_SERVER);
 
$headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
// 根据头大小去获取头信息内容
$header = substr($data, 0, $headerSize);
//print_r($header);
//$cookie='shop_json='.getSubstr($header , "shop_json=", ';').";";
//echo $cookie;
//print_r(curl_getinfo($curl));
//关闭URL请求
curl_close($curl);
//显示获得的数据
//print_r($header);
//echo $cookie;
 
//初始化
$curl = curl_init();
 
//设置抓取的url
 
curl_setopt($curl, CURLOPT_URL, 'http://yaxige.waa.cn/home/index/index_do');
 
//设置头文件的信息作为数据流输出
 
//curl_setopt($curl, CURLOPT_HEADER, 1);
 
//设置获取的信息以文件流的形式返回,而不是直接输出。
 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
//设置post提交cookies
//curl_setopt($curl,CURLOPT_COOKIE,$cookies);
curl_setopt($curl,CURLOPT_COOKIEFILE,$cookie_jar);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
 
//设置post方式提交
 
curl_setopt($curl, CURLOPT_POST, 1);
 
//设置post数据
 
$post_data = "";
 
//post提交的数据
 
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
 
//执行命令
 
$data = curl_exec($curl);
 
//关闭URL请求
 
curl_close($curl);
 
//显示获得的数据
//print_r(curl_getinfo($curl));
//echo $data;
print_r($data);
 
}
?>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>欢迎您!</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"> </script>
</head>
<body>
<?php caiji_waa($page); ?>
</body></html>

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
dych1688 + 2 + 1 谢谢@Thanks!

查看全部评分

zhshazi523 发表于 2020-12-23 20:16
没看到不是给CB

草率了

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
dych1688 + 2 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 10:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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