java - java 中的 httpurlConnection 与 httpParams

标签 java httpurlconnection inetaddress http-parameters

我正在尝试通过交换机将文件从本地发布到另一个平台。当我使用 DefaultHttpClient 执行此操作时,没有问题。

HttpParams params = new BasicHttpParams();
params.setParameter(ConnRoutePNames.LOCAL_ADDRESS, InetAddress.getByName(interfaceIp));
DefaultHttpClient httpClientPost = new DefaultHttpClient(params);

但我必须使用 HttpURLConnection 来做到这一点。有办法做到这一点吗?

例如:

httpConn = (HttpURLConnection) url.openConnection(myHttpParams);

这是我的 HttpUrlConn 代码

            url = new URL(baseUrl+"/html/uploadimage.cgi");
            httpConn = (HttpURLConnection) url.openConnection();
            httpConn.setUseCaches(false);
            httpConn.setDoOutput(true); // indicates POST method
            httpConn.setDoInput(true);
            httpConn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" +"----WebKitFormBoundary"+boundary);
            httpConn.setRequestProperty("Host", "192.168.1.1");
            httpConn.setRequestProperty("Connection", "keep-alive");
            httpConn.setRequestProperty("Content-Length", "16551361");
            httpConn.setRequestProperty("Cache-Control", "max-age=0");
            httpConn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
            httpConn.setRequestProperty("Origin", "http://192.168.1.1");
            httpConn.setRequestProperty("Upgrade-Insecure-Requests", "1");
            httpConn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36");
            httpConn.setRequestProperty("Referer", baseUrl + "/html/advance.html");
            httpConn.setRequestProperty("Accept-Encoding", "gzip, deflate");
            httpConn.setRequestProperty("Accept-Language", "tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4");

            String cookie =  "Username="+ username +"; " +
                    "Password="+ cyreptedPassword +"; Language=tk; " +
                    "username="+ username +"; " +
                    "SessionID_R3="+ sessionID +"; activeMenuID=maintain_settings; activeSubmenuID=device_mngt";

            httpConn.setRequestProperty("Cookie", cookie);
            httpConn.setAllowUserInteraction(true);
            httpConn.setConnectTimeout(9999*9999999);
            outputStream = httpConn.getOutputStream();
            writer = new PrintWriter(new OutputStreamWriter(outputStream, "UTF-8"), true);

谢谢大家。

最佳答案

HttpUrlConnection 不使用 http 参数,但它使用代理。

here是有关 httpUrlConnection 示例的一些信息。

关于java - java 中的 httpurlConnection 与 httpParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478056/

相关文章:

java - 忽略在正则表达式中创建单词的开头

java - Android 中未获取 Base64 图像数据

java - 无法使用 Android 从 Google Cloud Storage url 下载图像

java - 从请求中获取主机名

java - 在我的 Websphere 服务器中安装的 EJB 无状态 bean 中获取主机和端口

java - 从 Spring boot 2.0.5/java 8 迁移后,Spring boot 2.1/java 11 应用程序无法识别重音字符

java - 对象的jvm地址为0是什么意思?

java - Hibernate 忽略来自 MappedSuperClasses 的属性值?

java - 检查链接的 URL 状态代码时,无法将 HttpResponseCode 错误解析为类型

java - 如何从 java 中的给定 ip 获取下一个 ip 地址?