无法在React Native WebView中连接到localhost

bgtovc5b  于 2023-05-18  发布在  React
关注(0)|答案(6)|浏览(175)

我启动了一个简单的http服务器(从这里):

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/显示“Goodbye,World!“.
然后我创建了一个新的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可供参考。

4xy9mtcn

4xy9mtcn1#

使用该IP**10.0.2.2**而不是127.0.0.1

nvbavucw

nvbavucw2#

我成功地做到了:

adb reverse tcp:3000 tcp:3000

我的网页视图:

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

ilmyapht3#

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

zf9nrax1

zf9nrax14#

我能够通过找到我的计算机的IP地址连接到localhost。打开cmd prompt并为mac键入以下内容:

ifconfig | grep inet

窗口:

ipconfig/ALL

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

slhcrj9b

slhcrj9b5#

使用它就像http://10.0.2.2://your端口号这将明确工作

cs7cruho

cs7cruho6#

当尝试向您自己的WiFi IP地址发送请求时,可能会失败,具体取决于网络配置。如果这个问题的其他解决方案不成功,你可以考虑尝试我提出的方法。
通过使用ngrok等工具,您可以将本地主机服务器暴露给外部IP地址,然后从React Native应用程序向该IP发送请求。

相关问题