我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。

我需要在真正的设备上测试它,而不是在模拟器上。


当前回答

我正在使用mitmproxy HTTPS代理。https://mitmproxy.org/

Mitmproxy是一个开源代理应用程序,允许拦截任何HTTP(S)客户端之间的HTTP和HTTPS连接。它允许实时监控、捕获和改变这些连接。更改请求,响应,报头,… 此外,您还可以拦截不同的请求。

例如response_delay.py:

from mitmproxy import http
from time import sleep

def response(flow: http.HTTPFlow) -> None:
    sleep(5.0)

然后执行这个注释会延迟来自服务器的所有响应:

mitmproxy --cert \*.asdf.at=./cert.pem --scripts response_delay.py

在我的应用程序中,我使用证书钉住,所以你需要添加证书(私有+公共) 猫私人。关键的公众。密钥> cert.pem

你可以在这里找到一个简单的教程。

您可以在这里找到其他脚本示例。

其他回答

我需要在AndroidTV本机设备上限制低网络,根据我所读到的,最合适的解决方案是直接在我的路由器上限制互联网访问。 进入路由器设置(本地是smth,如192.168.0.1)->设置DHCP服务器(如果没有运行)->选择设备的IP地址并设置限制;

在Android Studio中,运行模拟器时:

1-点击模拟器侧栏底部的设置按钮

2-进入蜂窝网络

3—选择“网络类型”

您是想测试没有网络连接,还是只是网络连接很慢?如果是前者,可以进入设置>无线和网络>飞行模式,打开飞行模式。这将允许您在实际设备上测试网络不可用性。

你可以使用模拟器。看看这个页面:Android模拟器。请注意下面两个论点:

-netdelay <delay> Set network latency emulation to . Default value is none. See the table in Network Delay Emulation for supported values. -netspeed <speed> Set network speed emulation to . Default value is full. See the table in Network Speed Emulation for supported values. Speeds for reference in increasing kbps: UP DOWN -------- ---------- gsm GSM/CSD 14.4 14.4 hscsd HSCSD 14.4 57.6 gprs GPRS 28.8 57.6 umts UMTS/3G 384.0 384.0 edge EDGE/EGPRS 473.6 473.6 hsdpa HSDPA 5760.0 13,980.0 lte LTE 58,000.0 173,000.0 evdo EVDO 75,000.0 280,000.0 full No limit ∞ ∞

我正在使用mitmproxy HTTPS代理。https://mitmproxy.org/

Mitmproxy是一个开源代理应用程序,允许拦截任何HTTP(S)客户端之间的HTTP和HTTPS连接。它允许实时监控、捕获和改变这些连接。更改请求,响应,报头,… 此外,您还可以拦截不同的请求。

例如response_delay.py:

from mitmproxy import http
from time import sleep

def response(flow: http.HTTPFlow) -> None:
    sleep(5.0)

然后执行这个注释会延迟来自服务器的所有响应:

mitmproxy --cert \*.asdf.at=./cert.pem --scripts response_delay.py

在我的应用程序中,我使用证书钉住,所以你需要添加证书(私有+公共) 猫私人。关键的公众。密钥> cert.pem

你可以在这里找到一个简单的教程。

您可以在这里找到其他脚本示例。