cURL:代理服务器正在获取目标映像


cURL : Proxy Server getting target image

我需要一些帮助。使用这个curl函数创建一个简单的代理服务器。

$ch = curl_init($IP);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: $HOSTNAME'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);

它可以重定向到另一个服务器,但它确实更改了链接,比如以图像为目标,我需要添加什么功能?非常感谢。

我想你的意思是,如果最后一个链接有img,那么它不会改变"src"属性内的url。这在旋度中是不可能的。您需要做的是解析html并手动更改链接,以便从代理服务器进行定向。

同样,为了创建代理服务器,您不使用主机。您应该使用curl获取内容并将其打印出来。你正在做的是重定向而不是代理

编辑

代理的示例代码

<?php
    $host = "1.1.1.1"; //This is the host
    $url = $host.$_SERVER['REQUEST_URI'];
    echo file_get_contents($url);
    var_dump($http_response_header); //For debugging
?>

因为您只发出http请求,所以我认为file_get_contents是一个更适合的函数。var_dump还会为您提供来自"1.1.1.1"ip的响应标头。现在请注意。看看内容类型。这对图像很重要。因为浏览器需要知道响应的内容类型。因此,您需要解析http_response_headers,然后检查内容类型,并相应地使用header()函数在响应中添加标头。

希望这能帮助你更好地