Загрузка...

How to make a non-local Post request from the browser

Thread in Node.js created by Sam_woodkins Dec 14, 2022. 498 views

  1. Sam_woodkins
    Sam_woodkins Topic starter Dec 14, 2022 111 Jun 12, 2018
    Суть такая, есть скрипт парсера защищенных данных (тяжело просто так подключиться из-за проблем с SSL), в консоле пишу парсер, получаю лист Json новостей, но в консоли браузера. Как оттуда же сделать post запрос с response body на мой сайт НЕ НА ЛОКАЛЬНЫЙ, не просто href, а именно на мой ресурс.
     
  2. gcc_machine
    1. View previous comments (1)
    2. gcc_machine
      Sam_woodkins, тогда используй XMLhttp запросы
    3. gcc_machine
      Sam_woodkins,
      JavaScript

      var xmlhttp = new XMLHttpRequest();
      xmlhttp.open("POST", "/json-handler");
      xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
      xmlhttp.send(JSON.stringify({ email: "hello@user.com", response: { name: "Tester" } }));
      Не лучший пример, но пойдет
    4. Sam_woodkins Topic starter
      gcc_machine, -_- ты издеваешься да? Я же попросил НЕ ЛОКАЛЬНЫЙ не "/json-handler" а вообще на другой сервак, другой DNS
  3. cardholder
    cardholder Dec 16, 2022 Banned 2448 Jul 13, 2022
    JavaScript
    const http = require('http');

    const postData = JSON.stringify({key: 'value'});

    const options = {
    hostname: 'www.example.com',
    port: 80,
    path: '/path',
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Content-Length': Buffer.byteLength(postData)
    }
    };

    const req = http.request(options, (res) => {
    console.log(`Status: ${res.statusCode}`);
    console.log(`Headers: ${JSON.stringify(res.headers)}`);
    res.setEncoding('utf8');
    res.on('data', (chunk) => {
    console.log(`Body: ${chunk}`);
    });
    res.on('end', () => {
    console.log('No more data in response.');
    });
    });

    req.on('error', (e) => {
    console.error(`problem with request: ${e.message}`);
    });

    req.write(postData);
    req.end();
    как вариант использовать не http, а какой-нибудь axios
     
    1. Sam_woodkins Topic starter
      cardholder, C node.js получилось в браузере пишет:
      VM631:2 Uncaught ReferenceError: require is not defined
      at arif (<anonymous>:2:18)
      at <anonymous>:37:1
      arif - функция

      Нет идей что делать?
    2. cardholder
      а, ты пишешь на чистом js, я думал ты через node.js
    3. Sam_woodkins Topic starter
      cardholder, мне надо через браузер запрос сделать, в консоли браузера ни выходя никуда
  4. whyrinki
    whyrinki Dec 29, 2022 1 Oct 3, 2020
    для того чтобы с одного домена сделать запрос на другой нужно чтоб в ответе другого были переданы cors заголовки (https://developer.mozilla.org/ru/docs/Web/HTTP/CORS)
    либо используй http ****** с корс заголовками
     
  5. ZProger3
    ZProger3 Jan 7, 2023 Banned 1 Mar 10, 2021
    самое простое - jquery.ajax (погугли)
     
Loading...
Top