Unirest запрос возвращает ошибку 404 с действительным URL - PullRequest
1 голос
/ 17 января 2020

У меня проблема с запросом Unirest, возвращающим ошибку 404 с URL-адресом ниже:

http://newseg.evoluma.com/publico/login/?access=prefblumenau&&json=true&&type=2

Когда я использую браузер для навигации по этому URL-адресу все работает так, как было задумано, но когда я пытаюсь получить доступ к тому же URL-адресу, используя приведенный ниже скрипт, он возвращает ошибку 404.

Вот мой скрипт:

<?php
require_once __DIR__.'/vendor/autoload.php';
require_once __DIR__.'/vendor/mashape/unirest-php/src/Unirest.php';

//$query = array("access"=>"prefblumenau","json"=>"true","type"=>"2");
//$body = Unirest\Request\Body::multipart($query);

$response = Unirest\Request::get("http://newseg.evoluma.com/publico/login/?access=prefblumenau&&json=true&&type=2");

print_r($response);

//echo $response;


?>

Я пытался выяснить, какая у меня ошибка. На данный момент я знаю, что этот URL перенаправляется во время запроса, и когда это происходит, мой код возвращает ошибку 404.

Редактировать:

Я провел несколько тестов. Вот некоторые данные, когда я открываю ссылку прямо в браузере:

General
Request URL: http://newseg.evoluma.com/publico/login?access=prefblumenau&json=true&type=2
Request Method: GET
Status Code: 307 Temporary Redirect
Remote Address: 177.43.63.7:80
Referrer Policy: no-referrer-when-downgrade

Response Headers
Cache-Control: no-store, no-cache, must-revalidate
Connection: Keep-Alive
Content-Length: 1
Content-Type: text/html; charset=UTF-8
Date: Sat, 18 Jan 2020 19:43:05 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive: timeout=5, max=100
Location: http://newseg.evoluma.com/publico/
Pragma: no-cache
Server: Apache/2.4.18 (Ubuntu)

Request Headers
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Cookie: ci_session=d432klaeuuu7h20jsnmjl8vqqorppksu
DNT: 1
Host: newseg.evoluma.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

Query String Parameters
access: prefblumenau
json: true
type: 2

Как видите, когда я отправляю URL, он возвращает код 307 в качестве ответа и перенаправляет на другую страницу. После перенаправления у меня есть данные:

General
Request URL: http://newseg.evoluma.com/publico/
Request Method: GET
Status Code: 200 OK
Remote Address: 177.43.63.7:80
Referrer Policy: no-referrer-when-downgrade

Response Headers
Cache-Control: no-cache, must-revalidate
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 909
Content-Type: application/json; charset=utf-8
Date: Sat, 18 Jan 2020 19:43:05 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive: timeout=5, max=99
Pragma: no-cache
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding

Request Headers
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Cookie: ci_session=d432klaeuuu7h20jsnmjl8vqqorppksu
DNT: 1
Host: newseg.evoluma.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

Я пытаюсь несколькими способами вернуть правильное содержание в моем сценарии, но до сих пор мне не удавалось.

...