php - file_get_contents 无法打开流 : HTTP request failed! HTTP/1.1 500 Internal > Server Error in

标签 php web-scraping

我看到很多问题与我的问题相匹配。但他们都没有提供任何可行的解决方案。因此,我不需要制作复杂的功能,而是需要简单的解决方案。请不要 curl 。我已经使用这段代码完成了很多工作。

我正在做一个抓取项目,需要从 ebay 加载产品修订的内容。

我正在使用 PHP 函数

file_get_contents();

这是我遇到麻烦的 URL。

https://cgi.ebay.com/ws/eBayISAPI.dll?ViewItemRevisionDetails&item=272908801183

这个 file_get_contents();在不同的 URL 上工作得很好,但不知道为什么不在这个上。

这是我正在使用的代码。

<?php
$html = file_get_contents('https://cgi.ebay.com/ws/eBayISAPI.dll?ViewItemRevisionDetails&item=272908801183');
echo $html;
?>

但是我收到这个错误..

Warning: file_get_contents(https://cgi.ebay.com/ws/eBayISAPI.dll?ViewItemRevisionDetails&&item=272908801183): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /Users/samz/Documents/projects/scraping/test.php on line 3

最佳答案

file_get_contents (阅读蓝色矩形上的提示)可以通过 php.ini 在服务器端轻松阻止避免使用它。当您想从其他站点获取数据时,请改用 curl。 http://php.net/manual/en/book.curl.php ,有很多选项可以与 curl 一起使用,通过稍微玩一下以下代码可以使用您的 url。

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_URL,"https://cgi.ebay.com/ws/eBayISAPI.dll?ViewItemRevisionDetails&item=272908801183");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
$data = curl_exec($ch);
curl_close($ch);

通过回显 $data 变量,您可以看到整个页面。

echo $data;

您可以尝试使用 php DOM Methods 解析页面中的数据并将它们转换为您想要的数据类型(对象类、数组等)。

关于php - file_get_contents 无法打开流 : HTTP request failed! HTTP/1.1 500 Internal > Server Error in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47295100/

相关文章:

python - 如果我有一个except,我该如何重做?

php - Array_splice 充当 array_slice?

php - MySQL 选择单元格值等于数字的行,其中非数字字符被删除

php - 为访客和特定用户角色禁用 WooCommerce 支付网关

javascript - 单页应用程序 - 我应该在服务器端使用 MVC 框架吗?

javascript - 使用 CSS 选择器定位存储在 javascript 元素中的一些数据

vba - 使用 VBA 进行网页抓取

python - 从 "_ElementUnicodeResult object of lxml.etree module"创建列表对象

php - 使用纬度-经度-邮政编码数据库选择 3 个最近的位置

python - Beautifulsoup 从无序列表中提取文本和链接 div < ul <li (斯堪的纳维亚字符)