我想知道如何提取一个网站的图像,当你有错误HTTP request failed! HTTP / 1.1 463
?该网站会屏蔽所有的PHP查询,但并不是所有的互联网服务器都会这样做。
我在One.com的服务器上测试了这个脚本,但它在其他地方不起作用。我得到了错误463,准确地说是:HTTP request failed HTTP / 1.1 463
。
脚本如下:
<?php
header("Content-type: image/gif");
$habbo = $_GET['habbo']; // Habbo
$habbo2 = $_GET['habbo2']; // Habbo N°2
$habbo3 = $_GET['habbo3']; // Habbo N°3
$pays = $_GET['pays']; // Pays
$image = imagecreatefromgif("bureau_behind.gif"); // Bureau
$avatar = imagecreatefromgif("https://www.habbo.".$pays."/habbo-imaging/avatarimage?user=".$habbo3."&action=sit&direction=2&head_direction=2&gesture=sml&size=b&img_format=gif");
imagecopy($image, $avatar, 78, -16, 0, 0, 64, 110); // Lien Habbo
$avatar = imagecreatefromgif("https://www.habbo.".$pays."/habbo-imaging/avatarimage?user=".$habbo2."&action=sit&direction=2&head_direction=2&gesture=sml&size=b&img_format=gif");
imagecopy($image, $avatar, 48, -2, 0, 0, 64, 110); // Lien Habbo n°2
$avatar = imagecreatefromgif("https://www.habbo.".$pays."/habbo-imaging/avatarimage?user=".$habbo."&action=sit&direction=2&head_direction=2&gesture=sml&size=b&img_format=gif");
imagecopy($image, $avatar, 20, 10, 0, 0, 64, 110); // Lien Habbo n°3
$bureau = imagecreatefromgif("bureau_before.gif"); // Bureau image
imagecopy($image, $bureau, 0, 0, 0, 0, 300, 200); // Composition image
imagegif($image);
imagedestroy($image);
?>
提前感谢!
发布于 2016-01-12 14:16:59
我已经尝试过你正在构建的URL,除了可能存在的权利问题之外,如果你没有被哈博授权使用他们的图形,代码463不会在正常的浏览器中发生。
代码463是非标准代码。也许habbo正在通过用户代理字符串过滤您的请求。您可能希望在脚本中使用不同的用户代理标识符,再次尝试GET
:
$httpRequest->setHeaders(array('User-Agent' => 'Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2'));
或者类似的东西(都可以在http://www.useragentstring.com/上看到)。我直接从这里的php文档中获取了这个例子:http://php.net/manual/de/httprequest.setheaders.php
发布于 2018-04-21 14:10:04
在所有情况下都未接收到状态代码463 Restricted Client
:
Directory User-Agent Response Status Code
/habbo-imaging Chrome != 463
/habbo-imaging "" 463
/api Chrome 463
/api "" 463
如临时表所示,/habbo-imaging
目录上的Chrome用户代理是唯一返回有用响应的情况,而/api
目录会阻止Chrome的用户代理。似乎他们为目录设置了不同的访问限制。我还包含了/api
目录,因为我遇到了同样的问题。
我假设463意味着仅限于服务器,尝试使用Linux服务器的用户代理,并在更改后发现使哈博不响应463的关键字是Safari Google
。
Directory User-Agent Response Status Code
/habbo-imaging "Safari Google" != 463
/api "Safari Google" != 463
https://stackoverflow.com/questions/34733105
复制相似问题