java推送数据,代理post提交数据
网上看到的。。 留下备用。
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import javax.imageio.ImageIO;
public class MyHttpClient {
/** *//**
* Method description
*
*
* @param title 留言标题
* @param name 留言者
* @param Content 内容
* @param proIP 代理IP
* @param port 代理端口
* @param usePro 是否使用代理
*/
public synchronized void doSomeThing(String title, String name, String Content, String proIP, int port,
boolean usePro) {
// 构造HttpClient的实例
HttpClient httpClient = new HttpClient();
HttpClientParams clientParams = new HttpClientParams();
// 隐藏自己请求相关的信息
clientParams.setParameter("http.useragent", "Mozilla/4.0 (compatible; FIREFOX 9.0; IBM AIX 5)");
// httpClient.getHttpConnectionManager().getParams().setSoTimeout(30 * 1000);
clientParams.setHttpElementCharset("GBK");
HttpState httpState = new HttpState();
httpClient.setParams(clientParams);
httpClient.getParams(), .setParameter(HttpClientParams.HTTP_CONTENT_CHARSET, "GBK");
httpClient.setState(httpState);
clientParams.setVersion(HttpVersion.HTTP_1_1);
// httpClient.getHostConfiguration().setProxy("148.233.159.58", 3128);
if (usePro) // 使用代理
...{
httpClient.getHostConfiguration().setProxy(proIP, port);
}
// 创建GET方法的实例
GetMethod getMethod = new GetMethod("http://www.XXXcom/Guestbook/imgchk/validatecode.asp");
// 使用系统提供的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
try ...{
// 执行getMethod
int statusCode = httpClient.executeMethod(getMethod);
// System.out.println(statusCode);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + getMethod.getStatusLine());
} // 读取内容
InputStream inStream = getMethod.getResponseBodyAsStream();
// 处理内容
// System.out.println(new String(responseBody));
BufferedImage iag = ImageIO.read(inStream);
ImgIdent imgIdent = new ImgIdent(iag);
// imgIdent.saveJPEG(iag, "C:/ddd.jpg");
String validate = imgIdent.getValidatecode(4);
System.out.println(validate);
PostMethod method = new PostMethod("http://www.XXX.com/Guestbook/add_msg.asp");
String connect = Content;
String Title = title;
method.setParameter("subject", Title);
method.setParameter("g_name", name);
method.setParameter("companyname", "");
method.setParameter("mail", "");
method.setParameter("homepageurl", "http://");
method.setParameter("pic", "p5.gif");
method.setParameter("validatecode", validate);
method.setParameter("content", connect);
// if (todo) {
int code = httpClient.executeMethod(method);
// String Stringresponse = new String(method.getResponseBodyAsString().getBytes("8859_1"));
// 打印返回的信息
// System.out.println(Stringresponse);
// }
method.releaseConnection();
// System.out.println(iag.getHeight());
// System.out.println(iag.getWidth());
// //背景 颜色
// intBgColor = iag.getRGB(38, 0);
// System.out.println("intBgColor=" + intBgColor);
//
//
// intBgColor = iag.getRGB(0, 0);
// System.out.println("intBgColor=" + intBgColor);
} catch (Exception e) {
// 发生网络异常
e.printStackTrace();
} finally {}
// 释放连接 getMethod.releaseConnection(); }
getMethod.releaseConnection();
}
}