【项目】itdage-java获取天气和发短信
生活随笔
收集整理的這篇文章主要介紹了
【项目】itdage-java获取天气和发短信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸出json數據:
public class Util {//public static String getString(String url) throws IOException {try {//1.創建一個網址的抽象表示URL u = new URL(url);//步驟:,////2. 打開鏈接URLConnection conn = u.openConnection(); //3.獲取字節輸入流InputStream in = conn.getInputStream();//4.將字節輸入流裝飾為能一次讀取多行文字的緩沖字符輸入流,BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF-8"));//5.讀取一行行的數據并匯總StringBuffer sf = new StringBuffer();String text = null;while((text = br.readLine()) != null){sf.append(text);}//將讀取的數據返回給調用者return sf.toString();}catch (Exception e){e.printStackTrace();}return null;}public static void main(String[] args) throws IOException {String json = getString("https://itdage.cn/hw/weather?city=%E6%9D%AD%E5%B7%9E");System.out.println(json);}}注意點:
//可以換成String city = "北京" json = getString("https://itdage.cn/hw/weather?city="+URLEncoder.encode(city,"utf-8")發短信:
先測試發送固定內容
public static void main(String[] args) throws IOException {String city = "北京";String name="b( ̄▽ ̄)d 寶";name = URLEncoder.encode(name,"utf-8");// String json = getString("https://itdage.cn/hw/weather?city="+URLEncoder.encode(city,"utf-8"));//可以換成 String city = "北京" getString("https://itdage.cn/hw/weather?city="+URLEncoder.encode(city,"utf-8")//z System.out.println(json);//String phoneNumber = "19976883561";String s1 = "天晴";s1 = URLEncoder.encode(s1,"utf-8");String s2 = "30-32";String s3 = "記得注意休息哦~(捂臉)測一個簡單的發短信程序";s2 = URLEncoder.encode(s2,"utf-8"); s3 = URLEncoder.encode(s3,"utf-8");String json2 = getString("https://itdage.cn/hw/hwSms?name="+name+"&phoneNumber="+phoneNumber+"&s1="+s1+"&s2="+s2+"&s3="+s3);System.out.println(json2);}輸出ok,手機上可以看到短信
用一個執行任務的線程:
public class SNStask {private static Boolean flag; private static Thread t1;public static void start(long time,String name,String phoneNumber,String city){//啟動任務的代碼if(!flag){t1 = new Thread(){ @Overridepublic void run() {flag = true;task:while (flag) {String text = Util.send(name, phoneNumber, city);if (!"OK".equals(text)) {continue;}try {Thread.sleep(time);} catch (InterruptedException e) {e.printStackTrace();break task;}} }};t1.start();}}public static void end(){flag = false;if(t1 != null){t1.interrupt();}} }設置訪問路徑:
@WebServlet("/start") public class StartServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, UnsupportedEncodingException {request.setCharacterEncoding("utf-8");//設置編碼response.setContentType("text/json;charset=utf-8");//獲取參數、姓名、手機號、城市String name = request.getParameter("name");String phoneNumber = request.getParameter("phoneNumber");String city = request.getParameter("city");SNStask.start(time,name,phoneNumber,city);}} 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【项目】itdage-java获取天气和发短信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构】用java实现不同的七种排序
- 下一篇: 【转载】java中泛型使用详解