吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1547|回复: 13
收起左侧

[求助] PHP 关于curl库参数问题的求助!!!

[复制链接]
stal1ker 发表于 2019-12-8 18:22
本帖最后由 stal1ker 于 2019-12-9 14:41 编辑

问题如下:
通过curl访问url的时候需要提供指定的url。类似
function curl($url){
$ch = curl_init();    //初始化一个curl对象curl_setopt($ch, CURLOPT_URL, $url);    //设置你需要抓取的URL
.....
}
问题就是这个变量url只能是指定的么???
我想批量写入url到文本内
然后通过逐行读取文本里随机url 并赋值给变量$url:$url=file_get_contents(A.txt)
我用echo 输出的变量$url值确实就是我txt中的url  ,也就是这个参数的值就是url
但是这个函数就是执行不了,换句话说 我必须指定$url="eample.com"才能执行。
网上搜了半天也没找到解决办法。
特来吾爱求助!

2019.12.9
echo curl_error($ch) 返回了错误代码3
去官网查了一下错误代码3是什么意思
如下:
CURLE_URL_MALFORMAT (3)The URL was not properly formatted.

说是URL格式不对


ok!我找到问题所在了,当我rtrim()格式化字符串的时候,返回curl_error (6)
CURLE_COULDNT_RESOLVE_HOST (6)Couldn't resolve host. The given remote host was not resolved.
然后我var_dump($url)你猜怎么着,奇迹出现了,返回正常数据了。我再注释掉var_dump,嘿嘿好了,解决了。
感谢@夏无道 @阿宁宽带刷钻  两位大哥的思路。(其实我都不知道有error这个函数  var_dump也是刚刚百度才知道!嘿嘿!)


结帖 留念  以后万一还有人犯同我一样的错误就能搜到啦



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

kiki 发表于 2019-12-8 18:33
建议贴代码出来
Cyntec 发表于 2019-12-8 18:37
夏无道 发表于 2019-12-8 18:39
[PHP] 纯文本查看 复制代码
$urls = file_get_contents("urls.txt");
// urls.txt是存放很多url的文件,以回车为分割
$_urls = explode("\n",$urls);

foreach($_urls as $url){
    get_curl($url);// get_curl是自定义 的一个curl封装函数
}


不知道你是不是这意思。
Lopht 发表于 2019-12-8 19:56
顶楼上,另外我觉得楼主应该关心一下你的php版本,很多奇怪的错误都错在版本上。
 楼主| stal1ker 发表于 2019-12-8 20:12
本帖最后由 stal1ker 于 2019-12-8 20:16 编辑
夏无道 发表于 2019-12-8 18:39
[mw_shl_code=php,true]$urls = file_get_contents("urls.txt");
// urls.txt是存放很多url的文件,以回车 ...

function down_images($url) {
$url =file_get_contents("H:/tomcat/apache-tomcat-9.0.29/webapps/ROOT/WEB-INF/phpbin/test.txt");////方便调试 我在txt里只存一个url
echo $url;////这边是验证变量是否成功接收到txt里的参数
$header = array("Connection: Keep-Alive", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Pragma: no-cache", "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3", "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0");
///这边就是通用的curl头部设置 应该没什么问题
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);

        //curl_setopt($ch, CURLOPT_HEADER, $v);

        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

        curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');

        $content = curl_exec($ch);

      
        curl_close($ch);/////////这边应该都是没问题的  当我指定$url="example.com"的时候 返回时正常的

}
 楼主| stal1ker 发表于 2019-12-8 20:17
Lopht 发表于 2019-12-8 19:56
顶楼上,另外我觉得楼主应该关心一下你的php版本,很多奇怪的错误都错在版本上。

最新版的
 楼主| stal1ker 发表于 2019-12-8 20:19
Cyntec 发表于 2019-12-8 18:37
取到文本内的url循环不就行了吗?

能取到  但是没有返回
BobCoder 发表于 2019-12-8 20:25
[PHP] 纯文本查看 复制代码
<?php
/**
 * [url=home.php?mod=space&uid=686208]@AuThor[/url] Bob
 * Date: 2019/12/8
 * [url=home.php?mod=space&uid=621973]@Email[/url]  [email]bob@bobcoder.cc[/email]
 * [url=home.php?mod=space&uid=406162]@site[/url] https://www.bobcoder.cc/
 */
class Test{
    function curl_get($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, str_replace(PHP_EOL, '', $url));
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

        $output  = curl_exec($ch);
        if ($output === FALSE) {
            echo "cURL Error: " . curl_error($ch) . "<br>";
        } else {
            $info = curl_getinfo($ch);
            echo '获取 '. $info['url'] . ' 耗时'. $info['total_time'] . '秒' . "<br>";
        }

        curl_close($ch);
    }

    function get_url(){
        $myfile = fopen("urls.txt", "r") or die("Unable to open file!");
        while(!feof($myfile)) {
            $url = fgets($myfile);
            $this->curl_get($url);
        }
        fclose($myfile);
    }
}

$test = new Test();
$test->get_url();

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
stal1ker + 1 + 1 热心回复!

查看全部评分

BobCoder 发表于 2019-12-8 20:27
stal1ker 发表于 2019-12-8 20:19
能取到  但是没有返回

你试试这个呢,我刚刚测试了一波,应该没问题
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-20 22:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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