Почему мой запрос HTTP http возвращает HTML вместо JSON? - PullRequest
0 голосов
/ 07 января 2019

Мне нужно получить текст ответа JSON с веб-страницы, чтобы проанализировать его. Однако, когда я создаю свой XML-запрос HTTP, я получаю HTML-код, возвращенный даже со страницы, которую я запрашивал.

Я проверил, что для типа содержимого задано application / json, требуется xmlhttprequest вместо xhr2 (не работает), для XMLHttpRequest.responseType установлено значение "json" и другие. Я попытался использовать другой URL-адрес (https://jsonplaceholder.typicode.com/todos/1)) и смог получить текст ответа JSON. Однако с моим "секретным URL-адресом" (к сожалению, я не могу его предоставить) я получаю ответ HTML.

Я не уверен, откуда взять HTML, я посмотрел на SauceLabs, но на этом этапе он не работает. Я также пробовал browser.getURL (), но получаю

function myXMLRequest() {

  var XMLHttpRequest = require('xhr2');
  XMLHttpRequest.responseType = "json";
  var xmlhttp = new XMLHttpRequest(); 
  // this URL works, but my secret URL does not
  var url = "https://jsonplaceholder.typicode.com/todos/1";

  xmlhttp.onreadystatechange = function() {
    console.log("this.readyState: " + this.readyState + " 
    this.status: " + this.status);
  if (this.readyState === 4 && this.status === 200) {
      console.log("this.responseText: " + this.responseText);
  } else {
      console.log("I was not ready");
  }
  };
      xmlhttp.open("GET", url, true);
      xmlhttp.send();
    }

В URL-адресе, который работает, я получаю текст ответа, такой как:

{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

Я бы хотел, чтобы мой секретный URL-адрес получил такой ответ. В настоящее время он получает ответ HTML, как видно из моего изображения.

HTML response

1 Ответ

0 голосов
/ 07 января 2019

Ваш секретный URL направляет только на страницу перенаправления.

В вашем запросе XML http необходимо указать окончательный URL ->, вероятно, тот, который указан в действии формы (на вашем изображении).

...