从服务器收到状态码407:需要代理验证

时间:2018-03-28 14:08:03

标签: android android-studio gradle android-gradle android-studio-3.1

更新Android Studio和Gradle后,我收到以下错误。

enter image description here

我尝试了什么:
1.我正在使用代理并尝试过自动和手动代理设置。检查连接是否成功并且成功,android sdk更新也显示但是库和库不是从google(),jcenter()等下载的。 2.以管理员身份运行无法解决问题。 3.之前相同的代理工作正常,我也尝试了其他无效的代理 4.我使用的是Windows 10,gradle 4.4,android studio 3.1 5.恢复到版本3.0并没有解决问题 6.恢复到gradle 4.1没有解决问题 7.清理项目,无效缓存+重启不起作用。

更新:问题来自版本3.1及以上版本,似乎在android studio中使用代理身份验证从版本3.1进行了某种更改。我仍然无法解决它。

enter image description here

enter image description here

6 个答案:

答案 0 :(得分:6)

我正在使用这两行,对我来说效果很好。

systemProp.http.proxyHost=HostIP
systemProp.http.proxyPort=portNumber

如果您需要使用身份验证,请添加以下两行:

systemProp.http.proxyUser=user
systemProp.http.proxyPassword=password

我从未使用过https设置。

  

确保您使用的Http代理能够绕过Https协议。我建议使用像free-proxy-list.net,hidemy.name/en/proxy-list这样的网站,甚至可以提供没有身份验证的代理服务器。

     

但首先在浏览器中测试代理。

如果您确实需要使用您拥有的代理服务器(在防火墙后面或其他什么地方)。 绑定代理的另一种方法是使用Proxifier Alternatives之类的软件。此应用可以通过代理Rules Screenshot强制所有连接。

答案 1 :(得分:3)

要解决此问题,我正在使用以下代码行:

systemProp.http.proxyHost=yourProxyHost
systemProp.http.proxyPort=yourPort
systemProp.http.proxyUser=yourUser
systemProp.http.proxyPassword=yourPass

systemProp.https.proxyHost=yourProxyHost
systemProp.https.proxyPort=yourPort
systemProp.https.proxyUser=yourUser
systemProp.https.proxyPassword=yourPass

,然后重新启动Android Studio。

答案 2 :(得分:3)

转到C:\Users\windows user\.gradle,这在大多数系统中通常是默认设置。打开Gradle.properties文件(可以使用Visual Studio Code编辑器)。 只需查看代理设置并根据需要进行修改即可。

对我来说password是空白,我填写了密码字段,Gradle的工作非常正常。

仅当您在Android Studio中启用了代理功能时,以上操作才有效。

答案 3 :(得分:0)

我设法以这种方式修复它:

  1. Android Studio(我的版本3.1.2) - >设置 - > Http proxy->手动 代理配置(!!!) - >输入登录名和密码 - >检查 连接
  2. 可能重启Android Studio,我不记得
  3. 启动gradle构建时,使用代理设置的窗口 已打开用于gradle的HTTP和HTTPs(!) - >应用设置
  4. 在该文件之后" gradle.properties(全局属性)"是 自动创建,在里面你必须输入密码:

    systemProp.http.proxyPort = 8080     systemProp.http.proxyUser =域/登录     systemProp.http.proxyPassword =     systemProp.https.proxyPassword =     systemProp.https.proxyHost = proxy_host使用     #systemProp.http.nonProxyHosts =     systemProp.http.proxyHost = proxy_host使用     systemProp.https.proxyPort = 8080     #systemProp.https.nonProxyHosts =     systemProp.https.proxyUser =域/登录

答案 4 :(得分:0)

我设法通过以下方式解决了这个问题:

a。 Android Studio(3.4.1)将代理设置为自动检测

b。即时运行已禁用

c。启用嵌入式Maven存储库(设置->构建,执行和部署-> gradle-> android studio)

d。使用本地gradle分发(设置->构建执行和部署-> gradle->使用本地gradle分发->提供gradle的路径)

希望这会有所帮助

答案 5 :(得分:0)

仅添加代理设置对我不起作用。

通过在formProps上再添加一行systemProp.jdk.http.auth.tunneling.disabledSchemes="",问题得以解决。