打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
post模拟

package com;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Scanner;

import javax.net.ssl.X509TrustManager;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;


/**
 * @author 刘显安
 * 不使用任何SDK实现新浪微博Oauth授权并实现发微薄小Demo
 * 日期:2012年11月11日
 */
public class Test
{
 static String clientId="462782576";//你的应用ID462782576  3107088717
 static String clientSecret="d4acc900e839483bb1e29fc3f1aa8db8";//你的应用密码d4acc900e839483bb1e29fc3f1aa8db8  bfd9d978773bae5cf64ffaa0cc181195
 static String redirectUri="http://www.suqian.gov.cn/publish/main/3/218/20130326150935053461649/index.html";//你在应用管理中心设置的回调页面
 
 public static void main(String[] args) throws Exception
 {
//  testHttps();//测试
//  //第一步:访问授权页面获取授权
//  System.out.println("请打开你的浏览器,访问以下页面,登录你的微博账号并授权:");
//  String url = "https://api.weibo.com/oauth2/authorize?client_id="+clientId+"&response_type=code&redirect_uri="+redirectUri+"&forcelogin=true";
//  Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
//  //第二步:获取AccessToken
//  System.out.println("请将授权成功后的页面地址栏中的参数code:");
//  String code=new Scanner(System.in).next();
//  String accessToken = getAccessToken(code);
//  String[] accessTokens = accessToken.split(",");
//  //第三步:发布一条微博
//  System.out.println("请输入上面返回的值中accessToken的值:");
//  String userInformation = getUserInformation(accessTokens[3].split(":")[1].replaceAll("\"", "").replaceAll("}", ""), accessTokens[0].split(":")[1].replaceAll("\"", ""));
//  System.out.println(userInformation);
//  url = "https://api.weibo.com/2/account/end_session.json?access_token="+accessTokens[0].split(":")[1].replaceAll("\"", "");
  String url = "http://localhost:8081/dzj/api/event_seach.action?keyword=我选择的是";
  System.out.println(getUrl(url));
 }
 /**
  * 测试能否正常访问HTTPS打头的网站,
  */
 public static void testHttps()
 {
  try
  {
   trustAllHttpsCertificates();//设置信任所有的http证书
   URL url=new URL("https://api.weibo.com/oauth2/default.html");
   URLConnection con=url.openConnection();
   con.getInputStream();
   System.out.println("恭喜,访问HTTPS打头的网站正常!");
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
 }
 /**
  * 以Post方式访问一个URL
  * @param url 要访问的URL
  * @param parameters URL后面“?”后面跟着的参数
  */
 public static String postUrl(String url,String parameters)
 {
  StringBuffer sb = new StringBuffer("");
  try
  {
   trustAllHttpsCertificates();//设置信任所有的http证书
   URLConnection conn = new URL(url).openConnection();
   conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
   OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());// 获得连接输出流
   out.write(parameters);
   out.flush();
   out.close();
   // 到这里已经完成了,开始打印返回的HTML代码
   BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line = null;
   while ((line = reader.readLine()) != null)
   {
    sb.append(line);
   }
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  return sb.toString();
 }
 public static String getUrl(String url)
 {
  StringBuffer sb = new StringBuffer("");
  try
  {
   trustAllHttpsCertificates();//设置信任所有的http证书
   HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
   conn.setRequestMethod("GET");
   conn.setDoOutput(true);// 这里是关键,表示我们要向链接里注入的参数
   conn.setDoInput(true);
   conn.setUseCaches(false);
   // 到这里已经完成了,开始打印返回的HTML代码
   BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line = null;
   while ((line = reader.readLine()) != null)
   {
    sb.append(line);
   }
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  return sb.toString();
 }
 /**
  * 获取AccessToken
  * @param code 在授权页面返回的Code
  */
 public static String getAccessToken(String code)
 {
  String url="https://api.weibo.com/oauth2/access_token";
  String parameters="client_id=" +clientId+"&client_secret=" +clientSecret+
   "&grant_type=authorization_code" +"&redirect_uri=" +redirectUri+"&code="+code;
  return postUrl(url, parameters);
 }
 /**
  * 利用刚获取的AccessToken发布一条微博
  * @param text 要发布的微博内容
  * @param accessToken 刚获取的AccessToken
  */
 public static String getUserInformation(String uid,String accessToken)
 {
  //String url="https://api.weibo.com/2/statuses/update.json";
  String url = "https://api.weibo.com/2/users/show.json?access_token="+accessToken+"&uid="+uid;
  return getUrl(url);
 }
 /**
  * 设置信任所有的http证书(正常情况下访问https打头的网站会出现证书不信任相关错误,所以必须在访问前调用此方法)
  * @throws Exception
  */
 private static void trustAllHttpsCertificates() throws Exception
 {
  javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
  trustAllCerts[0] = new X509TrustManager()
  {
   @Override
   public X509Certificate[] getAcceptedIssuers()
   {
    return null;
   }
   @Override
   public void checkServerTrusted(X509Certificate[] arg0, String arg1)
     throws CertificateException
   {}
   @Override
   public void checkClientTrusted(X509Certificate[] arg0, String arg1)
     throws CertificateException
   {}
  };
  javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
  sc.init(null, trustAllCerts, null);
  javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
 }
 
 private static String getDoc() throws Exception{
  Document document = DocumentHelper.createDocument();
  Element root = document.addElement("root");
  Element hslElement = root.addElement("huilan_stru_list");
  Element hsitem1 = hslElement.addElement("huilan_stru_item");
  Element c1 = hsitem1.addElement("content");
  c1.setText("");
  Element ic1 = hsitem1.addElement("item_cnname");
  ic1.setText("");
  Element ie1 = hsitem1.addElement("item_enname");
  ie1.setText("");
  Element t1 =  hsitem1.addElement("tid");
  t1.setText("");
  //2
  Element hsitem2 = hslElement.addElement("huilan_stru_item");
  Element c2 = hsitem2.addElement("content");
  c2.setText("");
  Element ic2 = hsitem2.addElement("item_cnname");
  ic2.setText("");
  Element ie2 = hsitem2.addElement("item_enname");
  ie2.setText("");
  Element t2 =  hsitem2.addElement("tid");
  t2.setText("");
  //3
  Element hsitem3 = hslElement.addElement("huilan_stru_item");
  Element c3 = hsitem3.addElement("content");
  c3.setText("");
  Element ic3 = hsitem3.addElement("item_cnname");
  ic3.setText("");
  Element ie3 = hsitem3.addElement("item_enname");
  ie3.setText("");
  Element t3 =  hsitem3.addElement("tid");
  t3.setText("");
  //4
  Element hsitem4 = hslElement.addElement("huilan_stru_item");
  Element c4 = hsitem4.addElement("content");
  c4.setText("");
  Element ic4 = hsitem4.addElement("item_cnname");
  ic4.setText("");
  Element ie4 = hsitem4.addElement("item_enname");
  ie4.setText("");
  Element t4 =  hsitem4.addElement("tid");
  t4.setText("");
  //5
  Element hsitem5 = hslElement.addElement("huilan_stru_item");
  Element c5 = hsitem5.addElement("content");
  c5.setText("");
  Element ic5 = hsitem5.addElement("item_cnname");
  ic5.setText("");
  Element ie5 = hsitem5.addElement("item_enname");
  ie5.setText("");
  Element t5 =  hsitem5.addElement("tid");
  t5.setText("");
  //6
  Element hsitem6 = hslElement.addElement("huilan_stru_item");
  Element c6 = hsitem6.addElement("content");
  c6.setText("");
  Element ic6 = hsitem6.addElement("item_cnname");
  ic6.setText("");
  Element ie6 = hsitem6.addElement("item_enname");
  ie6.setText("");
  Element t6 =  hsitem6.addElement("tid");
  t6.setText("");
  //7
  Element hsitem7 = hslElement.addElement("huilan_stru_item");
  Element c7 = hsitem7.addElement("content");
  c7.setText("");
  Element ic7 = hsitem7.addElement("item_cnname");
  ic7.setText("");
  Element ie7 = hsitem7.addElement("item_enname");
  ie7.setText("");
  Element t7 =  hsitem7.addElement("tid");
  t7.setText("");
  //8
  Element hsitem8 = hslElement.addElement("huilan_stru_item");
  Element c8 = hsitem8.addElement("content");
  c8.setText("");
  Element ic8 = hsitem8.addElement("item_cnname");
  ic8.setText("");
  Element ie8 = hsitem8.addElement("item_enname");
  ie8.setText("");
  Element t8 =  hsitem8.addElement("tid");
  t8.setText("");
  //9
  Element hsitem9 = hslElement.addElement("huilan_stru_item");
  Element c9 = hsitem9.addElement("content");
  c9.setText("");
  Element ic9 = hsitem9.addElement("item_cnname");
  ic9.setText("");
  Element ie9 = hsitem9.addElement("item_enname");
  ie9.setText("");
  Element t9 =  hsitem9.addElement("tid");
  t9.setText("");
  //10
  Element hsitem10 = hslElement.addElement("huilan_stru_item");
  Element c10 = hsitem10.addElement("content");
  c10.setText("");
  Element ic10 = hsitem10.addElement("item_cnname");
  ic10.setText("");
  Element ie10 = hsitem10.addElement("item_enname");
  ie10.setText("");
  Element t10 =  hsitem10.addElement("tid");
  t10.setText("");
  //11
  Element hsitem11 = hslElement.addElement("huilan_stru_item");
  Element c11 = hsitem11.addElement("content");
  c11.setText("");
  Element ic11 = hsitem11.addElement("item_cnname");
  ic11.setText("");
  Element ie11 = hsitem11.addElement("item_enname");
  ie11.setText("");
  Element t11 =  hsitem11.addElement("tid");
  t11.setText("");
  //12
  Element hsitem12 = hslElement.addElement("huilan_stru_item");
  Element c12 = hsitem12.addElement("content");
  c12.setText("");
  Element ic12 = hsitem12.addElement("item_cnname");
  ic12.setText("");
  Element ie12 = hsitem12.addElement("item_enname");
  ie12.setText("");
  Element t12 =  hsitem12.addElement("tid");
  t12.setText("");
  //13
  Element hsitem13 = hslElement.addElement("huilan_stru_item");
  Element c13 = hsitem13.addElement("content");
  c13.setText("");
  Element ic13 = hsitem13.addElement("item_cnname");
  ic13.setText("");
  Element ie13 = hsitem13.addElement("item_enname");
  ie13.setText("");
  Element t13 =  hsitem13.addElement("tid");
  t13.setText("");
  //14
  Element hsitem14 = hslElement.addElement("huilan_stru_item");
  Element c14 = hsitem14.addElement("content");
  c14.setText("");
  Element ic14 = hsitem14.addElement("item_cnname");
  ic14.setText("");
  Element ie14 = hsitem14.addElement("item_enname");
  ie14.setText("");
  Element t14 =  hsitem14.addElement("tid");
  t14.setText("");
   c1.setText("");
  ic1.setText("发生时间");
  ie1.setText("time");
  t1.setText("2012323213123123");
  //2
  c2.setText("4");
  ic2.setText("经度");
  ie2.setText("jingdu");
  t2.setText("34234234234234");
  //3
   c3.setText("9");
  ic3.setText("级数");
  ie3.setText("jishu");
  t3.setText("5345345345");
  //4
   c4.setText("7");
  ic4.setText("符号");
  ie4.setText("fuhao");
  t4.setText("553453453535345345");
  //5
   c5.setText("6");
  ic5.setText("深度");
  ie5.setText("shendu");
  t5.setText("546456456");
  //6
   c6.setText("8");
  ic6.setText("震中英文名");
  ie6.setText("english");
  t6.setText("43534534543");
  //7
   c7.setText("9");
  ic7.setText("epiMap");
  ie7.setText("epiMap");
  t7.setText("45345345435");
  //8
   c8.setText("6");
  ic8.setText("histMap");
  ie8.setText("histmap");
  t8.setText("543543543");
  //9
   c9.setText("4");
  ic9.setText("histgt5Map");
  ie9.setText("histgt5Map");
  t9.setText("34234234");
  //10
   c10.setText("4");
  ic10.setText("cmtfile");
  ie10.setText("cmtfile");
  t10.setText("45345345");
  //11
   c11.setText("4");
  ic11.setText("mtMap");
  ie11.setText("mtMap");
  t11.setText("534534543");
  //12
   c12.setText("7");
  ic12.setText("sacfile");
  ie12.setText("sacfile");
  t12.setText("45345345435");
  
  //13
   c13.setText("6");
  ic13.setText("纬度");
  ie13.setText("weid");
  t13.setText("5645645654");
  //14
   c14.setText("6");
  ic14.setText("参考位置");
  ie14.setText("cankaoweizhi");
  t14.setText("45345345");
  
  //文章内容
  String doc = document.asXML();
  return doc;
 }
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
将数据库表里的数据直接转为XML文件
Java操作XML文件 dom4j 篇
使用 domj4 API 创建与修改 XML 文档
dom4j生成xml实例
Java 中如何实现RSS 2.0?
dom4j读取某个元素的某个属性
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服