Керл дает мне доступ запрещен - PullRequest
1 голос
/ 23 июня 2019

Я использую Curl -dump-header, но мне также отказывают в доступе.Есть ли способ подключиться и получить HTML-код?

Curl --dump-header - https://www.gearbest.com/car-charger/pp_009363232829.html

> HTTP/2 403  server: AkamaiGHost mime-version: 1.0 content-type:
> text/html content-length: 314 cache-control: max-age=60 expires: Sat,
> 22 Jun 2019 22:25:51 GMT date: Sat, 22 Jun 2019 22:24:51 GMT
> set-cookie: AKAM_CLIENTID=7e3530d888ae97fef4ad26c997d733c5;
> expires=Mon, 31-Dec-2038 23:59:59 GMT; path=/; domain=.gearbest.com
> vary: User-Agent

<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>

You don't have permission to access "http&#58;&#47;&#47;www&#46;gearbest&#46;com&#47;car&#45;charger&#47;pp&#95;009363232829&#46;html" on this server.<P>
Reference&#32;&#35;18&#46;85451502&#46;1561242291&#46;25f21039
</BODY>
</HTML>

Если я захожу на страницу с помощью браузера, она работает нормально.Я просто хочу получить HTML-код страницы.любая помощь приветствуется.

1 Ответ

0 голосов
/ 23 июня 2019

Вот вам модифицированный код PHP, и он прекрасно работает (проверено):

<?php
$curl1 = curl_init();
$url = "https://gearbest.com/car-charger/pp_009363232829.html";
curl_setopt($curl1, CURLOPT_URL, $url);
curl_setopt($curl1, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($curl1, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0');
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl1, CURLOPT_FOLLOWLOCATION, true);
$str = curl_exec($curl1); 
echo $str;

Несколько замечаний:

  • вы ожидали, что curl_exec() вернет код HTML, но без установки сначала опции CURLOPT_RETURNTRANSFER, что не произойдет
  • часто сайты используют перенаправления (например, перенаправления GearBest на www., если вы его опускаете), и для правильной обработки вам необходимо установить параметр CURLOPT_FOLLOWLOCATION
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...