小编PPr*_*PPr的帖子

无法通过代理隧道.代理通过https返回"HTTP/1.1 407"

我面临着java6/8的奇怪行为.我尝试隧道通过需要基本用户身份验证的代理.通过标准的java Authenticator执行此操作.如果我尝试访问https url作为第一个url,则抛出异常:

java.io.IOException:无法通过代理进行隧道传输.代理返回"需要HTTP/1.1 407代理身份验证"

但是,如果我首先访问http URL,然后访问https URL,则https访问可以正常工作.

鉴于该代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.net.URL;

public class ProxyPass {
    public ProxyPass( String proxyHost, int proxyPort, final String userid, final String password, String url ) {

    try {
            /* Create a HttpURLConnection Object and set the properties */
            URL u = new URL( url );
            Proxy proxy = new Proxy( Proxy.Type.HTTP, new InetSocketAddress( proxyHost, proxyPort ) ); …
Run Code Online (Sandbox Code Playgroud)

java authentication https proxy tunnel

20
推荐指数
2
解决办法
4万
查看次数

标签 统计

authentication ×1

https ×1

java ×1

proxy ×1

tunnel ×1