需要使用Android Emulator进行身份验证的代理

时间:2008-08-26 15:30:38

标签: android authentication proxy

是否有人设法让Android模拟器在需要身份验证的代理后面工作?

我尝试将-http-proxy参数设置为

http://DOMAIN/USERNAME:PASSWORD@IP:PORT

但是没有成功。

我试过跟随文档无济于事。我也尝试了-verbose-proxy设置,但这似乎不再存在。

任何指针?

16 个答案:

答案 0 :(得分:44)

我管理在Android 2.2模拟器中执行此操作。

Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila"

在那里设置代理主机名在属性“Proxy”中 以及“端口”属性中的代理端口

答案 1 :(得分:26)

似乎SDK 1.5以后,-http-proxy标志也不起作用。对我有用的是在模拟器中启动android映像,然后在Android运行后,转到Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names,然后为默认访问点设置http代理设置。

通过APN代理设置,我可以让模拟器的浏览器上网冲浪。但是,像地图这样的其他东西仍然不起作用。

答案 2 :(得分:15)

我记得有同样的问题 - 在网上搜索后,我找到了这个解决方案 - 从命令行,

1. > adb shell
2. # sqlite3 /data/data/com.android.providers.settings/databases/settings.db
3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port');
4. sqlite>.exit

编辑: 编辑回答以反映最新版本的Android。

答案 3 :(得分:5)

显然,此问题仅适用于Android 2.x和Windows。 这里有一个打开的错误: http://code.google.com/p/android/issues/detail?id=5508&q=emulator%20proxy&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

答案 4 :(得分:5)

  1. androidtool.cfg

  2. 找到文件C:\Documents and Settings\YOUR USER NAME\.android\
  3. 添加以下行:

    http.proxyLogin=USER@PASSWORD
    
  4. 保存文件并尝试打开Android SDK。

答案 5 :(得分:5)

要设置代理服务器,我们需要设置APNS设置。要做到这一点:

  • 转到设置
  • 转到无线和网络
  • 转到移动网络
  • 转到接入点名称。使用菜单添加新的支持
  • 设置代理= localhost
  • 设置用于制作代理服务器的端口=端口,在我的情况下为8989

对于设置名称和apn,这里是链接:

根据您的SIM卡,您可以看到表格

答案 6 :(得分:4)

这对我有用:http://code.google.com/p/android/issues/detail?id=5508#c39
显然,模拟器中存在一个错误,它会强制您使用代理的IP地址而不是名称...

答案 7 :(得分:3)

杰伊,虽然这将是此信息的理想位置,但尚未针对2.1进行更新。下面我将列出目前不适用于2.1仿真器的方法。

http-post参数不适用于2.1模拟器。 在2.1仿真器中的APN列表中设置代理不起作用。 通过sql-lite将代理直接插入系统表不适用于2.1。

事实上,通过我在2.1中找到的模拟器让浏览器连接到互联网的唯一方法是根本不使用代理。我真的希望很快得到解决,因为有很多人都有同样的问题。

答案 8 :(得分:3)

  1. 启动命令提示符。

  2. 转到模拟器所在的文件夹。通常,它将位于Android SDK的tools文件夹中。

  3. 然后使用以下命令:

    emulator -avd <avd name> -http-proxy <server>:<proxy>
    

    通过使用此功能,我们将能够使用浏览器访问互联网。

答案 9 :(得分:3)

在Eclipse 3.45中使用带有代理的Android SDK 1.5模拟器

转到Package Explorer - &gt;右键单击您的Android项目 - &gt;运行As-&gt;运行配置。

在左栏的Android应用下,选择您的项目 - &gt;在右栏中,您可以看到Android |目标|常用标签 - &gt;

选择目标 - &gt;在底部“附加仿真器命令行选项” - &gt;

-http-proxy http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080

- &GT;运行/关闭

答案 10 :(得分:2)

我没有使用过Android模拟器,但我已经为perl和wget设置了$ http_proxy环境变量,并在windows上设置了一些cygwin工具。这可能适合你的android,但域名中的斜线似乎是一个潜在的问题。 我知道我尝试在其中使用我的域名“GLOBAL”,但最终将其删除并坚持:http://$USER:password@www-proxy.company.com:80

我遇到的一个问题是,无法告诉程序使用代理进行DNS查询。如果他们不这样做我总是找不到主机名。我想找一个本地dns解析器,它可以使用代理程序来处理所有不能执行的程序。

答案 11 :(得分:2)

我能够使用HTTP嗅探器而不是代理来查看流量。我使用了HTTPScoop,这是一个不错的小应用程序。

使用HTTPScoop的好处还在于,当我打开互联网共享并让我的手机使用我的mac上的wifi时,我也可以在我的实际设备上看到流量。所以这对于调试手机本身和模拟器上发生的事情是一个很好的协议。

这样,使用什么模拟器并不重要,因为嗅探器看到的流量与模拟器,设备,编译器设置等无关。

答案 12 :(得分:2)

我将解释所有步骤:

  1. 转到Android模拟器中的设置&gt;无线&amp;网络&gt;移动网络&gt; <接入点> Telkilla&gt;这里做必要的设置,如代理,端口等。
  2. 我认为现在关于代理设置的一切都很清楚......

答案 13 :(得分:2)

适用于Android2.3.3 设置 - &GT;无线与网络 - &GT; MobileNetworks-&GT; AccessPointNames-&GT; Telkila-&GT; 在此处设置代理和端口(xx.xx.xx.xx和端口)

答案 14 :(得分:1)

当我使用以下命令时,我遇到了同样的问题:

emulator-x86.exe -http-proxy domain\user:password@proxyIP:port -avd MyAVD

我收到了代理身份验证错误。

最后,我不得不在这里使用Cntlm绕过代理NTLM身份验证:

http://sourceforge.net/projects/cntlm/

然后在简单配置cntlm.ini之后,我改为使用以下命令:

emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD

它有效:)

答案 15 :(得分:1)

使用新版Android Studio及其模拟器,这是一项简单的任务。

按模拟器&#34;更多&#34;按钮,选择设置 - &gt;代理选项卡。所有需要的配置都在那里。

enter image description here