如何避免来自LinkedIn的"HTTP/1.1 999 Request denied"回复?

zoo*_*man 2 php curl linkedin amazon-ec2 amazon-web-services

我正在向LinkedIn页面发出请求并收到"HTTP/1.1 999 Request denied"响应.我使用AWS/EC-2获得此响应.在localhost上一切正常.

这是我获取页面的html代码的代码示例.

<?php
error_reporting(E_ALL);
$url= 'https://www.linkedin.com/pulse/5-essential-strategies-digital-michelle';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
var_dump($response);
var_dump($info); 
Run Code Online (Sandbox Code Playgroud)

我不需要整页内容,只需要元标记(标题,og-tags).

Gui*_*nto 6

请注意,W3C超文本传输​​协议 - HTTP/1.1中不存在错误999,可能此错误是自定义的(听起来像个笑话)

LinkedIn不允许直接访问,他们阻止其他网络服务器访问的任何"网址"的可能原因应该是:

  1. 防止未经授权的信息复制
  2. 防止入侵
  3. 防止滥用请求.
  4. 强制使用API

服务器的某些IP地址被阻止,因为"国内ISP"的"IP"未被阻止,当您使用网络浏览器访问LinkedIn时,您使用的是您的互联网提供商的IP.

访问数据的唯一方法是使用他们的API.看到:

注意:像GoogleBing这样的搜索引擎可能将其IP置于"白名单"中.

  • @zoonman如果你认为这个问题是由LinkedIn强加的*审查*,那么你的问题不在于PHP,这不是StackOverflow的问题,你应该谈谈"LinkedIn Adm"需要解锁你的IP(注意共享服务器通常具有"IP"随机性,因此不可能解除阻塞).我编辑了我的答案,请阅读. (4认同)