use*_*011 -1 html php string curl loops
我正在尝试在ghix.com上建立一个所有城市页面的列表,它没有这么完整的目录.要做到这一点,我使用他们的'城市id',这是每个城市独有的,但不遵循任何特定的顺序.
我正在使用cURL和PHP来遍历可能的域以搜索与实际城市匹配的域.很简单.请参阅下面的代码,它会产生500内部服务错误.
如果有效,输出应该是与实际城市不匹配的"城市ID"列表.如果URL与实际城市匹配,则页面上不会有(0),但如果它与城市不匹配,则页面上将显示(0).
我已经多次查看并纠正了这个错误导致了什么?
<html>
<?php
for ($i = 1; ; $i <= 1000000; $i++) {
$url = "http://www.ghix.com/goto/dynamic/city?CityID=" . $i;
$term="(0)";
curl_setopt($ch, CURLOPT_URL, trim($url));
$html = curl_exec($ch);
if ($html !== FALSE && stristr($html, $term) !== FALSE) { // Found!
echo $i;
Echo "br/";
}
}
?>
</html>
Run Code Online (Sandbox Code Playgroud)
更新我试过的一种略有不同的方法,效果相同......
<html>
<?php
for ($i = 1; $i <= 100; $i++) {
$url = "http://www.ghix.com/goto/dynamic/city?CityID=" . $i;
$term="(0)";
curl_setopt($ch, CURLOPT_URL, trim($url));
$html = curl_exec($ch);
if (strpos($ch,$term)) {
echo $url;
echo "<br>";
}
?>
</html>
Run Code Online (Sandbox Code Playgroud)
在你的第一个代码块中,你有额外;的for条件.接下来,您需要$ch = curl_init();在开始时初始化cURL .这将打开$ch您稍后调用的处理程序.最后,1=用于错误条件if而不是感叹号和双倍相等.经过这些修复,我没有得到任何500错误.之后,只需从页面中收集数据并将其放在正确的位置即可.
在第二块代码中,您仍然需要初始化cURL.然后你需要在末尾添加另一个花括号来关闭for循环.然后是处理cURL输出的问题.
你似乎比任何东西都有更多的拼写错误.观察您的服务器日志,他们会告诉您有关您正在寻找的内容的更多信息.对于cURL,请阅读PHP站点上可以在PHP中设置的选项.这是一个很好的阅读.祝好运.
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |