ответная реакция приложения fetch () на мобильный HTML - PullRequest
0 голосов
/ 09 мая 2019

функция fetch в моем приложении реакции возвращает HTML-код мобильной версии веб-сайта. когда я использую fetch() с URL-адресом в обычном JavaScript, я получаю оригинальный полный рабочий стол html.

  • пока я пробовал следующее
  • с использованием заголовка: {"User-Agent": 'Mozilla / 5.0}
  • использование библиотеки запросов вместо библиотеки извлечения
  • Я устал менять URL-адреса, но все же я получаю мобильную версию HTML
    import React, { Component } from 'react';
    import './App.css';
    import { FormGroup, FormControl, InputGroup, Form, } from 'react-bootstrap'


    class App extends Component {
      constructor(props) {
        super(props)
        this.state = {
          query: '',
          fimg: [],
        }
        this.OnSearch = this.OnSearch.bind(this);
      }

      OnSearch() {

        url = "https://www.zerochan.net/Re%3AZero+Kara+Hajimeru+Isekai+Seikatsu?s=fav"
        let headers = new Headers({
          "Accept": "application/json",
          "Content-Type": "application/json",
          "User-Agent": 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
        });


        fetch(url, {
          header: headers,

        })
          .then(res => res.text())
          .then(body => {
            console.log(body)
              .catch(function (err) {
                console.log(err);

              });
          });
      }
      render() {
        return (
          <div className="App" >
            <div className="App-title"> Anime Images Galary</div>
            <Form>
              <FormGroup>
                <Form.Label>Enter the name of an Anime series below </Form.Label>
                <InputGroup className="formSize">
                  <FormControl
                    size="lg"
                    type="text"
                    placeholder="Search for an Artist"
                    value={this.state.query}
                    onChange={event => { this.setState({ query: event.target.value }) }}
                    onKeyPress={event => {
                      if (event.key === 'Enter') {
                        this.OnSearch()
                      }
                    }
                    }
                  />
                </InputGroup>
              </FormGroup>
              <button type="button" onClick={() => this.OnSearch()}>search</button>
            </Form>
            <div className="Profile">
            </div>
            <div>
              {images}
            </div>
          </div>
        )
      }

      export default App;


1 Ответ

0 голосов
/ 09 мая 2019

По умолчанию при получении извлечения cookie-файлы не устанавливаются, и веб-сайт, если cookie-файлы не обнаружены, будет перенаправлен на мобильную версию.

Пожалуйста, попробуйте добавить:

  fetch(url, {
      credentials: "same-origin",
      header: headers,
    }).then(...).catch(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...