java推送数据,java代理post提交数据

java推送数据,代理post提交数据

网上看到的。。 留下备用。


  1. import org.apache.commons.httpclient.*;  
  2. import org.apache.commons.httpclient.methods.GetMethod;  
  3. import org.apache.commons.httpclient.methods.PostMethod;
  4. import org.apache.commons.httpclient.params.HttpClientParams;  
  5. import org.apache.commons.httpclient.params.HttpMethodParams;  
  6.   
  7.   
  8. import java.awt.image.BufferedImage;  
  9.   
  10. import java.io.InputStream;  
  11.   
  12. import javax.imageio.ImageIO;  
  13.   
  14.   
  15. public class MyHttpClient {  
  16.   
  17.     /** *//**
  18.      * Method description
  19.      *
  20.      *
  21.      * @param title 留言标题
  22.      * @param name 留言者
  23.      * @param Content 内容
  24.      * @param proIP 代理IP
  25.      * @param port  代理端口
  26.      * @param usePro 是否使用代理
  27.      */  
  28.     public synchronized void doSomeThing(String title, String name, String Content, String proIP, int port,  
  29.             boolean usePro) {  
  30.   
  31.         // 构造HttpClient的实例  
  32.         HttpClient       httpClient   = new HttpClient();  
  33.         HttpClientParams clientParams = new HttpClientParams();  
  34.   
  35.         // 隐藏自己请求相关的信息  
  36.         clientParams.setParameter("http.useragent", "Mozilla/4.0 (compatible; FIREFOX 9.0; IBM AIX 5)");  
  37.   
  38.         // httpClient.getHttpConnectionManager().getParams().setSoTimeout(30 * 1000);  
  39.         clientParams.setHttpElementCharset("GBK");  
  40.   
  41.         HttpState httpState = new HttpState();  
  42.   
  43.         httpClient.setParams(clientParams);  
  44.         httpClient.getParams(), .setParameter(HttpClientParams.HTTP_CONTENT_CHARSET, "GBK");  
  45.         httpClient.setState(httpState);  
  46.         clientParams.setVersion(HttpVersion.HTTP_1_1);  
  47.   
  48.         // httpClient.getHostConfiguration().setProxy("148.233.159.58", 3128);  
  49.   
  50.         if (usePro)    // 使用代理  
  51.         ...{  
  52.             httpClient.getHostConfiguration().setProxy(proIP, port);  
  53.         }  
  54.   
  55.         // 创建GET方法的实例  
  56.         GetMethod getMethod = new GetMethod("http://www.XXXcom/Guestbook/imgchk/validatecode.asp");  
  57.   
  58.         // 使用系统提供的默认的恢复策略  
  59.         getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());  
  60.   
  61.         try ...{  
  62.   
  63.             // 执行getMethod  
  64.             int statusCode = httpClient.executeMethod(getMethod);  
  65.   
  66.             // System.out.println(statusCode);  
  67.             if (statusCode != HttpStatus.SC_OK) {  
  68.                 System.err.println("Method failed: " + getMethod.getStatusLine());  
  69.             }    // 读取内容  
  70.   
  71.             InputStream inStream = getMethod.getResponseBodyAsStream();  
  72.   
  73.             // 处理内容  
  74.             // System.out.println(new String(responseBody));  
  75.             BufferedImage iag      = ImageIO.read(inStream);  
  76.             ImgIdent      imgIdent = new ImgIdent(iag);  
  77.   
  78.             // imgIdent.saveJPEG(iag, "C:/ddd.jpg");  
  79.             String validate = imgIdent.getValidatecode(4);  
  80.   
  81.             System.out.println(validate);  
  82.   
  83.             PostMethod method  = new PostMethod("http://www.XXX.com/Guestbook/add_msg.asp");  
  84.             String     connect = Content;  
  85.             String     Title   = title;  
  86.   
  87.             method.setParameter("subject", Title);  
  88.             method.setParameter("g_name", name);  
  89.             method.setParameter("companyname", "");  
  90.             method.setParameter("mail", "");  
  91.             method.setParameter("homepageurl", "http://");  
  92.             method.setParameter("pic", "p5.gif");  
  93.             method.setParameter("validatecode", validate);  
  94.             method.setParameter("content", connect);  
  95.   
  96. //          if (todo) {  
  97.             int code = httpClient.executeMethod(method);  
  98.   
  99.             // String Stringresponse = new String(method.getResponseBodyAsString().getBytes("8859_1"));  
  100.             // 打印返回的信息  
  101.             // System.out.println(Stringresponse);  
  102. //          }  
  103.   
  104.             method.releaseConnection();  
  105.   
  106. //          System.out.println(iag.getHeight());  
  107. //          System.out.println(iag.getWidth());  
  108. //          //背景 颜色  
  109. //          intBgColor = iag.getRGB(38, 0);  
  110. //          System.out.println("intBgColor=" + intBgColor);  
  111. //  
  112. //  
  113. //          intBgColor = iag.getRGB(0, 0);  
  114. //          System.out.println("intBgColor=" + intBgColor);  
  115.         } catch (Exception e) {  
  116.   
  117.             // 发生网络异常  
  118.             e.printStackTrace();  
  119.         } finally {}  
  120.   
  121.         // 释放连接   getMethod.releaseConnection();  }  
  122.         getMethod.releaseConnection();  
  123.     }  
  124. }  
  125.   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值