`
dannyhz
  • 浏览: 390012 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

通过网络 Proxy HttpURLConnection 直接提交阳光郡

阅读更多

package com.httpclientweb;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLEncoder;
public class HttpURLConnectionPost {
 /**
  * @param args
  * @throws IOException 
  */
//	
	//{"status":"c","info":"\u4e00\u4e2aIP\u4e00\u5929\u6700\u591a\u53ea\u80fd\u629520\u7968"}
//Exception in thread "main" java.net.SocketException: Unexpected end of file from server
	//{"status":"y","info":"\u6295\u7968\u6210\u529f"}
 public static void main(String[] args) throws IOException {
	 int i = 0; 
	 
		 readContentFromPost();
		 try {
			Thread.sleep(1000L);
			System.out.println("complete the number [" + ++i + "]");
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
 }
 public static void readContentFromPost() throws IOException {
	 
	  String host = "112.255.194.95";
	  int port = 81;
	 	Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port)); 
        // Post请求的url,与get不同的是不需要带参数
        URL postUrl = new URL("http://123.56.99.33:80/home/index/vote.html");
        // 打开连接
        HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection(proxy);
       
        // 设置是否向connection输出,因为这个是post请求,参数要放在
        // http正文内,因此需要设为true
        connection.setDoOutput(true);
        // Read from the connection. Default is true.
        connection.setDoInput(true);
        // 默认是 GET方式
        connection.setRequestMethod("POST");
        
        // Post 请求不能使用缓存
        connection.setUseCaches(false);
        
        connection.setInstanceFollowRedirects(true);
        
        // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
        // 意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
        // 进行编码
        connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
        // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
        // 要注意的是connection.getOutputStream会隐含的进行connect。
        connection.connect();
        DataOutputStream out = new DataOutputStream(connection
                .getOutputStream());
        // The URL-encoded contend
        // 正文,正文内容其实跟get的URL中 '? '后的参数字符串一致
        String content = "mid=30155" ;
        // DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写到流里面
        out.writeBytes(content);
        out.flush();
        out.close(); 
         
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
         
        while ((line = reader.readLine()) != null){
            System.out.println(line);
        }
       
        reader.close();
        connection.disconnect();
}
}




这种是简单的 www.aaa.com/index.jsp?a=b&c=d传参
//serverURL url地址
HttpPost httpPost = new HttpPost(serverURL);
//param 为参数
StringEntity entity = new StringEntity(param);
entity.setContentType("application/x-www-form-urlencoded");
httpPost.setEntity(entity);
HttpResponse httpResponse = httpClient.execute(httpPost);

还可以用map作为参数
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
if(param!=null){
Set set = param.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
Object value = param.get(key);
formparams.add(new BasicNameValuePair(key.toString(), value.toString()));
}
}
分享到:
评论

相关推荐

    JavaProx多项目多工程代理HttpUrlConnection

    在Java编程环境中,多项目多工程的代理设置是一项常见的需求,尤其在进行网络请求时,如使用HttpUrlConnection。这个场景通常涉及到多个独立的开发项目或模块,它们可能需要通过同一代理服务器访问互联网资源,或者...

    cpp-TorProxy是一个通过Tor匿名网络路由所有网络流量的内核模块

    TorProxy作为内核模块,意味着它能够直接与系统硬件交互,控制网络流量,这使得它能在用户空间应用程序不知情的情况下工作,增加了匿名网络的隐蔽性。 3. **Tor匿名网络**:Tor是一种基于洋葱路由技术的匿名网络,...

    kubernetes 使用cilium 网络插件 替换kube-proxy

    在Kubernetes环境中,传统的服务发现和网络代理方案是通过kube-proxy来实现的,它提供了iptables、ipvs等不同的工作模式。然而,随着云原生应用的发展,对网络性能、安全性和可观测性的需求日益增强,这催生了Cilium...

    goproxy-android snail007/goproxy全能代理服务器安卓版

    1. 请求转发:当安卓设备上的应用通过GoProxy-Android设置的代理服务器发送网络请求时,GoProxy会捕获这些请求,然后根据预设的规则进行处理,如修改请求头、替换URL、添加或删除请求体内容等,最后将处理后的请求...

    proxy.jsp、proxy.ashx、proxy.php、proxy.config

    它通过设置`esri.config.defaults.io.proxyUrl`来指定代理服务的URL,当ArcGIS JavaScript API请求需要跨域访问的资源时,会自动通过这个代理转发请求。在Java应用中,你需要将`proxy.jsp`部署到服务器,并在Esri的...

    java 实现HTTP PROXY

    Java实现HTTP PROXY是一个常见的需求,特别是在开发网络应用或者测试环境中,我们可能需要通过代理服务器转发HTTP请求。本文将深入探讨如何使用Java编程语言来创建一个HTTP代理服务器,并且会涉及相关的源码分析。 ...

    ABAP 调用ABAP PROXY

    2. **生成Proxy代码**:在目标系统中,使用SE80事务码,通过“生成ABAP Proxy”功能,输入源系统的服务接口信息,自动生成对应的ABAP Proxy类和相关代码。 3. **编译与激活**:生成的Proxy代码需要在目标系统中进行...

    phpproxy-0.6

    PHPProxy的核心功能在于它能够帮助用户在不改变原有网络配置的情况下,通过PHP脚本实现对远程网站的访问。这主要得益于PHP的动态语言特性以及其强大的网络通信能力。用户只需将PHPProxy的相关代码部署在服务器上,...

    httpProxy-java

    HTTP代理(httpProxy)是一种网络服务,它充当客户端与服务器之间的中介,允许客户端通过代理服务器来访问其他Web资源。在Java开发中,实现HTTP代理功能可以帮助我们处理各种网络请求,提高性能,以及实现数据抓取、...

    igmp proxy

    在实际网络环境中,IGMP Proxy的配置通常需要通过网络设备的命令行接口或网络管理系统完成,包括启用或禁用Proxy功能、设置Proxy的工作模式、定义Proxy的查询参数等。 总的来说,IGMP Proxy是实现多播路由功能的...

    ProxyPool.zip

    通常,这样的文本文件会列出如何通过编程语言(如Python、Java、JavaScript等)与ProxyPool系统交互,获取或提交代理IP的相关代码片段。它可能包括请求代理IP的URL、所需的参数、返回格式以及错误处理方法等。 ...

    JsProxy A js proxy online

    例如,当需要从API服务器获取数据,而该服务器没有启用CORS(跨源资源共享)时,开发者可以将API请求通过JsProxy代理,从而在客户端正常执行。 使用JsProxy的js proxy功能,开发者可以通过配置代理规则,转发特定的...

    csapp proxylab

    Proxylab是该书最后一个实验,旨在让学生通过实践来理解和实现一个网络代理,这是一项重要的网络编程任务。本文将详细探讨Proxylab的核心概念、实现原理以及可能遇到的挑战。 网络代理,顾名思义,是作为客户端和...

    OPC COM ProxyStub MergeModule (x86)_foundation_proxy_usvfs_proxy

    Proxy和Stub的作用是解决进程间通信的问题,使得不同地址空间的应用程序可以透明地调用彼此的功能。 3. **MergeModule (x86)**:MergeModule是一个MSI(Microsoft Installer)模块,用于将组件打包到安装程序中。...

    proxy2proxy多级协议代理软件-v1.0.2.129版本

    proxy2proxy 多级协议代理软件是一款支持HTTP/HTTPS 协议网络代理的软件,能够提供单级/多级协议代理服务,支持与第三方代理软件配合使用,就算宿主系统仅支持本机(127.0.0.1)代理,也能够实现虚拟机环境正常享受...

    proxy代理程序实例和讲解

    总的来说,通过这个proxy代理程序实例,我们可以学习到如何在Linux环境下实现一个基础的网络代理服务,包括创建和管理套接字、处理网络连接、进行数据传输等核心概念。同时,这也是一次实践网络编程基础知识的机会,...

    3proxy-0.6.1

    总的来说,3proxy-0.6.1 提供了一个全面的网络代理解决方案,无论是对于个人还是企业,都可以通过配置这个软件来实现网络访问的管理和控制。了解并掌握 3proxy 的各项功能和配置方法,对于提高网络安全性和管理效率...

    Named Pipe TCP Proxy.rar

    这个工具的核心功能是实现串口重定向,允许用户通过网络接口将本地命名管道(Named Pipe)的通信转换为TCP/IP协议,从而在物理主机和虚拟机之间进行数据交换。 在传统的串口通信中,设备通常通过物理串口直接连接。...

Global site tag (gtag.js) - Google Analytics