Как я могу отправить URL-адрес из браузера на сервер, который будет очищен при использовании React?

Используйте Монитор процессов Sysinternals . Настройте его для контроля процесса python.exe для операций CreateFile:

Process Monitor Filter dialog [/g1]

Затем запустите свой скрипт. В приведенном ниже примере я побежал:

>>> from ctypes import *
>>> CDLL('x')
Traceback (most recent call last):
  File "", line 1, in 
  File "D:\dev\Python33x64\lib\ctypes\__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

x.dll не существует со следующим результатом в нижней части трассы, но обратите внимание, что любая отсутствующая зависимая DLL будет отображаться аналогично:

Process Monitor trace [/g2]

-1
задан Alex Silvester 17 January 2019 в 01:56
поделиться

2 ответа

Попробуйте запрос cURL для Node.js , если вы используете Node.js в качестве сервера.

const curl = new (require( 'curl-request' ))();

curl.get('https://www.google.com')
.then(({statusCode, body, headers}) => {
    console.log(statusCode, body, headers)
})
.catch((e) => {
    console.log(e);
});
0
ответ дан Ron Royston 17 January 2019 в 01:56
поделиться

Как и в случае с другой веб-страницей / веб-приложением с платформой JS / JS, общепринятым методом связи с сервером является использование AJAX. Например, мы можем использовать Axios или fetch() метод HTML5 Fetch API.

В React Axios является одной из наиболее часто используемых библиотек AJAX. Это независимая библиотека, созданная специально для HTTP-транзакций на стороне клиента. Пример использования Axios:

axios.post('https://your-server.com/your-path', {
    'url': 'https://url-input-by-user.com'
  })
  .then(function (response) {
    console.log(response);
    //Do your action when success/get response from server
  })
  .catch(function (error) {
    console.log(error);
    //Error handling is here
  });

Пример использования API fetch() (должен реализовывать полизаполнение для IE и Edge):

fetch( 'https://your-server.com/your-path', {
    method: "POST", // *GET, POST, PUT, DELETE, etc.
    mode: "cors", // no-cors, cors, *same-origin
    cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached
    credentials: "same-origin", // include, *same-origin, omit
    headers: {
        "Content-Type": "application/x-www-form-urlencoded",
    },
    redirect: "follow", // manual, *follow, error
    referrer: "no-referrer", // no-referrer, *client
    body: { 'url': 'https://url-input-by-user.com' }, // body data type must match "Content-Type" header
    })
    .then(response => response.json()); // parses response to JSON



[ 115] ИСПОЛЬЗОВАНИЕ «Browser Push data»:

Если процесс «Scrapping» выполняется в течение значительного периода времени, может подойти механизм «Browser Push Data». Потому что при использовании AJAX, он имеет тенденцию иметь «тайм-аут», когда это занимает слишком много времени. Используя механизм «Push data», это своего рода асинхронная связь между клиентом и сервером. Вы можете узнать больше об использовании "Websocket" и "Событие отправлено сервером" AKA "SSE" . Для справки:

0
ответ дан Bayu 17 January 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: