войдите в систему перед извлечением данных с другого сайта, используя curl - PullRequest
0 голосов
/ 11 апреля 2019

Я хотел извлечь / получить данные с другого сайта. через интернет я смог найти код для этого. а затем я настроил его в соответствии с моими потребностями. однако полученный вывод не то, что мне нужно. код работает нормально, но мне нужен тот вывод, который виден только тогда, когда GET-запрос будет сделан после входа в систему на этой странице. Проще говоря, я хочу, чтобы мой код для входа на этот сайт, а затем получить данные. этот логин требует имени пользователя и пароля. веб-сайт, на котором находится страница входа, www.screener.in/login

<!DOCTYPE html>

<html>

<head>

  <meta charset="utf-8">

  <title>Demo of CORS Anywhere</title>

  <meta name="viewport" content="width=device-width">

  <style>
    html,
    body {
      margin: 0;
      height: 100%;
      padding: 3px;
      font-family: Arial, sans-serif;
      font-size: 16px;
    }
    
    * {
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }
    
    label {
      display: block;
    }
    
    input {
      display: block;
      width: 100%;
      padding: 8px 5px;
      border: 1px solid #CCC;
    }
    
    button {
      display: inline-block;
      width: 49%;
      padding: 8px;
    }
    
    textarea {
      width: 100%;
      height: 100%;
    }
    
    #top {
      height: 180px;
      position: relative;
    }
    
    #bottom {
      height: 100%;
      margin-top: -180px;
      padding-top: 180px;
    }
  </style>

</head>

<body>

  <div id="top">

    <input type="url" id="url" value="">

    </label>

    <label>

    <button id="get">GET</button>

  </label>

  </div>

  <div id="bottom">

    <textarea id="output"></textarea>

  </div>


  <script>
    var cors_api_url = 'https://cors-anywhere.herokuapp.com/www.screener.in/company/';

    var last_url = '/consolidated/'

    function doCORSRequest(options, printResult) {

      var x = new XMLHttpRequest();


      x.open(options.method, cors_api_url + options.url + last_url);

      x.onload = x.onerror = function() {

        printResult(

          options.method + ' ' + options.url + '\n' +
          x.status + ' ' + x.statusText + '\n\n' +
          (x.responseText || '')
        );
      };

      x.send(options.data);
    }

    // Bind event

    (function() {

      var urlField = document.getElementById('url');

      var outputField = document.getElementById('output');

      document.getElementById('get').onclick =
        function(e) {

          e.preventDefault();

          doCORSRequest({

            method: this.id === 'post' ? 'POST' : 'GET',

            url: urlField.value,


          }, function printResult(result) {

            outputField.value = result;

          });

        };

    })();
  </script>

</body>

</html>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...