Tag: httpsurlconnection

Google的oauth端点正在返回“错误请求”……但为什么呢?

在https://accounts.google.com/o/oauth2/token请求代币时,在搜索“错误请求”的可能原因后浪费了大量时间,我决定问为什么此代码无法获取只是来自服务器的“错误请求”响应…… String url = “https://accounts.google.com/o/oauth2/token”; HttpsURLConnection con = (HttpsURLConnection) obj.openConnection(); con.setChunkedStreamingMode(0); con.setRequestMethod(“POST”); con.setRequestProperty(“Host”, “accounts.google.com”); con.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”); con.setRequestProperty(“code”, authCode); con.setRequestProperty(“client_id”, “[CLIENT_ID]”); con.setRequestProperty(“client_secret”, “[CLIENT_SECRET”); con.setRequestProperty(“redirect_uri”, “http://localhost:8080/login”); con.setRequestProperty(“grant_type”, “authorization_code”); // Send post request con.setDoOutput(true); 我必须设置con.setChunkedStreamingMode(0)因为服务器返回了与内容长度相关的错误。 有任何想法吗? 是否有必要将有效载荷放在一条线上? 怎么样?

HTTP / 1.1 302暂时移动 – 在Android API 16-17上发生

长话短说。 我的应用程序启动时,我想从互联网上下载一些谷歌表文件。 这是情况: 较新的设备:一切工作100%,没有问题,所有文件下载。 旧设备(API 16-17):正确下载第一个工作表文件。 无法下载第二个文件。 我收到HTTP / 1.1 302 Moved Temporarily问题,文件无法正确下载。 我为这两个文件调用了AsynchTask。 AsynchTask运行完美,我尝试了其他方法来查看AsynchTask是否存在问题。 此外,所有链接都非常精细且有效。 这是我的AsynchTask类代码的一部分: 下载文件的方法: private String downloadUrl(String urlString) throws IOException { InputStream is = null; try { URL url = new URL(urlString); HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); conn.setInstanceFollowRedirects(true); //you still need to handle redirect manully. HttpsURLConnection.setFollowRedirects(true); conn.setReadTimeout(10000 /* milliseconds */); conn.setConnectTimeout(15000 […]

获取HttpsURLConnection中使用的SSL版本 – Java

我正在开发一个java代理来监视我的应用服务器中发生的http通信。 我想知道传出Https连接中使用的SSL版本(SSLv3,TLS等)。 有没有办法以任何方式获得SSL版本?

如何设置用于使用HttpsURLConnection创建的套接字的密码和协议列表?

获取SSLSocketFactory的常规方法是使用TrustManager , KeyManager和SecureRandom初始化新的SSLContext并使用getSocketFactory()方法。 但是,这不允许我启用所需的密码套件或协议。 HttpsURLConnection允许进行此类更改的唯一配置是通过设置其默认SSLSocketFactory 。 我可以创建一个扩展SSLSocketFactory并覆盖getDefaultCipherSuites()方法的类,并包装createSocket()创建的套接字以设置所需的密码和协议。 但是,这种方法不允许我为连接初始化TrustManager ? 有没有一种方法可以做到 – 设置密码套件和协议并初始化信任管理器?

获取对Java的默认http(s)URLStreamHandler的引用

我有一个我需要在我的一个项目中使用的库,不幸的是它注册了自己的URLStreamHandler来处理http- URLs 。 有没有办法获得对Java的默认http-和https- URLStreamHandlers的引用,所以我可以在URL的构造函数中指定其中一个来打开标准的http连接而不使用库覆盖的协议?

Java HttpsURLConnection和TLS 1.2

我在一篇文章中读到HttpsURLConnection将透明地协商SSL连接。 官方文件说: 该类使用HostnameVerifier和SSLSocketFactory。 为这两个类定义了默认实现。 [ 1 ] 这是否意味着一旦打开连接 httpsCon = (HttpsURLConnection) url.openConnection(); 它已经加密了SSL / TLS而没有任何麻烦吗? 如何查看和设置标准实现的TLS版本? (应该是Java 8的TLS 1.2和Java 7的TLS 1.0) 参考 甲骨文公司(2011年)。 javax.net.ssl.HttpsURLConnection 。 (JavaDoc的)