【发布时间】:2012-06-04 03:55:38
【问题描述】:
好的,所以我正在寻找的有点类似于下面的代码,它非常愚蠢并且由于某种我现在完全不关心的原因而无法工作(请阅读代码下的问题!!):
$url = urldecode($_GET["link"]);
$port = (preg_match("/^https\:\/\//", $url) > 0 ? 443 : 80);
$headers = "GET / HTTP/1.1\r\n";
$headers .= "Host: $url";
$headers .= "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.3\r\n";
$headers .= "Accept-Encoding: gzip,deflate,sdch\r\n";
$headers .= "Accept-Language: hu-HU,hu;q=0.8,en-US;q=0.6,en;q=0.4\r\n";
$headers .= "Cache-Control: no-cache\r\n";
$headers .= "Connection: keep-alive\r\n";
$headers .= "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5\r\n\r\n";
//yea, I'm using Google Chrome's userAgent
$socket = @fsockopen($url, $port) or die("Could not connect to $url");
if ($socket) {
fwrite($socket, $headers);
while (!feof($socket)) {
echo fgets($socket, 128);
}
fclose($socket);
}
如您所见,我想要实现的是以某种方式从 GET 全局中的 url 获取 html 或任何其他输出。同样,代码不起作用,我不在乎,我不需要代码更正,我需要信息/指导。
现在。我不是 PHP 大师,所以问题有点复杂:
- 为了实现上述需求,我有哪些选择?
- 在执行该特定方法之前/之后我需要注意什么?
- 任何依赖项(库)?
- 专业人士/kontras/以前的经验?
如果你只用一堆链接回答,我也非常感谢,我并不是在寻找一个机器人回答,比如“这是你应该做的最神圣和唯一的方法!”,我更多的是收集信息和选项,知识。 =)
我不知道这是否重要(例如 MongoDB 的驱动程序):我目前在 Windows 7 x64 上使用 WAMP 服务器,后来我计划将它移动到我的 CentOS 6.2 网络服务器下,所以也请考虑这些(可能依赖于 Linux)。
【问题讨论】:
-
初学者请查看cURL
-
我还要注意,如果你把它放在公共网络上,黑客会喜欢你的。他们将能够有效地将你的服务器用作一个不错的小代理。
-
哈哈,真是哥们。 =) 感谢您提及! =) 我也会意识到这一点。 =) 起初我想尝试一下这个东西,它可能对我的一个家庭项目非常重要,只是(如前所述)我不是 PHP 大师。 =)