无法在React Native WebView中连接到localhost

时间:2017-06-22 14:38:57

标签: react-native

我启动了一个简单的http服务器(from here):

from wsgiref.simple_server import make_server

def app(environ, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    yield b"<h1>Goodbye, World!</h1>"

server = make_server('127.0.0.1', 8080, app)
server.serve_forever()

使用:

python3 simple_serve.py

重定向到http://127.0.0.1:8080/会显示“再见,世界!”。

然后我创建了一个新的React Native Project并将index.android.js更改为:

import React, { Component } from 'react';
import {
  AppRegistry,
  WebView,
} from 'react-native';

export default class WebTest extends Component {
  render() {
    return (
      <WebView
        source= {{ uri: "http://127.0.0.1:8080/" }}
      />
    );
  }
}

AppRegistry.registerComponent('WebTest', () => WebTest);

“再见,世界!”没有出现,我收到一条警告说:

  

遇到错误加载页面   {"canGoForward"false,"code":-6,"canGoBack":false,"description":"net::ERR_CONNECTION_REFUSED","loading":false,"title":"","url":"http://127.0.0.1:8080/","target":5}

供参考,将http://127.0.0.1:8080/更改为https://www.google.com有效。

4 个答案:

答案 0 :(得分:6)

使用该IP 10.0.2.2 而不是127.0.0.1

答案 1 :(得分:0)

我做得很成功:

adb reverse tcp:3000 tcp:3000

我的网络视图:

<WebView source={{uri: 'http://localhost:3000'}} ... 

答案 2 :(得分:0)

我能够通过查找我的计算机的 IP 地址连接到 localhost。打开 cmd 提示符并为 mac 输入:

ifconfig | grep inet

视窗:

ipconfig/ALL

我的列在 inet 和 netmask exhttp://194.178.1.2:4242/ 之间,并且 Webview uri 工作正常

答案 3 :(得分:0)

我使用的是 mac,我在网络设置中找到了正确的 ip 地址: enter image description here