全球主机交流论坛

标题: 问个PHP获取网页源代码的问题 [打印本页]

作者: Telegramr    时间: 2024-4-13 15:55
标题: 问个PHP获取网页源代码的问题


https://www.ip138.com/iplookup.php?ip=110.242.68.66&&action=2
https://m.ip138.com/iplookup.php?ip=110.242.68.66&&action=2
https://www.ipshudi.com/110.242.68.66.htm

这三个地址,浏览器中都能返回正确的地址信息,但是在php里,无论是使用 file_get_contents()或是curl都会跳转到 https://ipchaxun.com/ 这个页面,但是跳转后的页面源码中却没有任何信息。

请问应该如何去获取到这个页面的一些信息呢?谢谢大家了
作者: 似毛非毛    时间: 2024-4-13 16:00
访问的时候加ua。不加ua会跳转。curl --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" https://www.ip138.com/iplookup.php?ip=110.242.68.66&&action=2
作者: Telegramr    时间: 2024-4-13 16:08
似毛非毛 发表于 2024-4-13 16:00
访问的时候加ua。不加ua会跳转。curl --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537 ...

好的,谢谢您了
作者: Telegramr    时间: 2024-4-13 16:27
似毛非毛 发表于 2024-4-13 16:00
访问的时候加ua。不加ua会跳转。curl --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537 ...
i HTTP/1.1 302 Moved Temporarily Server: nginx Date: Sat, 13 Apr 2024 08:26:28 GMT Content-Type: text/html Content-Length: 138 Connection: keep-alive Location: https://www.ipshudi.com/ x-ws-request-id: 661a41b4_houdxin43_20924-28142
302 Found
nginx


我的提示这个错误
作者: Telegramr    时间: 2024-4-13 17:22
似毛非毛 发表于 2024-4-13 16:00
访问的时候加ua。不加ua会跳转。curl --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537 ...

我在linux下按照您的方法使用可以获取到信息,但是在php里用curl却返回302

作者: _leo    时间: 2024-4-13 17:31
说明你ua头没加对呗。又不把代码发出来,都不知道怎么帮你
作者: Telegramr    时间: 2024-4-13 17:33
_leo 发表于 2024-4-13 17:31
说明你ua头没加对呗。又不把代码发出来,都不知道怎么帮你
function curl_ip($url)
{
    $ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36";
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_USERAGENT, $ua);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}


谢谢您的回复,这是我的代码
作者: Telegramr    时间: 2024-4-13 17:34
_leo 发表于 2024-4-13 17:31
说明你ua头没加对呗。又不把代码发出来,都不知道怎么帮你
function ip_curlGet($url)
{
    $ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    // 输出头
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_FALSESTART, true);
    //模拟常用浏览器的 useragent
    curl_setopt($ch, CURLOPT_USERAGENT, "{$ua}");
    // 不跟随跳转
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;

}


两段都没有效果
作者: icon    时间: 2024-4-13 17:38
前两个连接,我的浏览器是直接404。应该是检查了referer。
作者: Telegramr    时间: 2024-4-13 17:44
icon 发表于 2024-4-13 17:38
前两个连接,我的浏览器是直接404。应该是检查了referer。

我也加过referer,但同样没有效果,它的referer在本地用浏览器看是 2024.ip138.com
作者: 似毛非毛    时间: 2024-4-13 17:56
这种页面会有各种限制的,多访问几下。直接浏览器都不让访问。直接找api接口。
作者: Telegramr    时间: 2024-4-13 18:09
似毛非毛 发表于 2024-4-13 17:56
这种页面会有各种限制的,多访问几下。直接浏览器都不让访问。直接找api接口。 ...

我试过很多次了,但是要么是空白,要么是302
作者: 似毛非毛    时间: 2024-4-13 18:17
我本地小鸡和国外小鸡试了,不加ua.302。加了ua返回一个特定的404页面
作者: Telegramr    时间: 2024-4-13 18:19
似毛非毛 发表于 2024-4-13 17:56
这种页面会有各种限制的,多访问几下。直接浏览器都不让访问。直接找api接口。 ...

这命令在cmd下执行,404,我在debian下运行却没有事
curl --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" https://www.ip138.com/iplookup.php?ip=110.242.68.66&action=2

作者: Telegramr    时间: 2024-4-13 18:23

用浏览器来打开,也是404了
作者: larry    时间: 2024-4-13 18:29
这种工具类,要么买接口,要么下免费库自己解析。
不要想着一个curl就白piao,谁也不傻,早都做限制了
作者: poe    时间: 2024-4-13 18:44
Telegramr 发表于 2024-4-13 18:23
用浏览器来打开,也是404了

额,好像是他们网站挂了吧,我这也是404
作者: 菜鸡鲲    时间: 2024-4-13 18:53
pc访问页面也是404,
作者: 尚书    时间: 2024-4-13 19:10
301和302的状态码是临时重定向,会用 到CURLOPT_FOLLOWLOCATION选项

伪装UA和Referer,使用cookie如果依然404,网站可能使用了防爬虫机制,需要 IP代理池。话说为个ip有必要吗
作者: 姊姊    时间: 2024-4-14 10:20
第三个 www.ipshudi.com 我用php实现过 是可以获取的 但是有时候会出现跳转的问题 正常访问有时候也会这样
应该是做了限制
作者: Telegramr    时间: 2024-4-22 10:54
谢谢各位回复的朋友们了

作者: Typeboom    时间: 2024-4-22 12:27
开个子进程调用curl吧
作者: Telegramr    时间: 2024-4-22 12:27
Typeboom 发表于 2024-4-22 12:27
开个子进程调用curl吧

问题解决了,谢谢了




欢迎光临 全球主机交流论坛 (https://91ai.net/) Powered by Discuz! X3.4