精华内容
下载资源
问答
  • 4、 掌握循环语句 学习时间: 提示:这里可以添加计划学习的时间 例如: 1、 周一至周五晚上 7 点—晚上9点 2、 周六上午 9 点-上午 11 点 3、 周日下午 3 点-下午 6 点 学习产出: 提示:这里统计学习计划的总量 ...

    学习目标:

    提示:这里可以添加学习目标
    例如:一周掌握 Java 入门知识


    学习内容:

    提示:这里可以添加要学的内容
    例如:
    1、 搭建 Java 开发环境
    2、 掌握 Java 基本语法
    3、 掌握条件语句
    4、 掌握循环语句


    学习时间:

    提示:这里可以添加计划学习的时间
    例如:
    1、 周一至周五晚上 7 点—晚上9点
    2、 周六上午 9 点-上午 11 点
    3、 周日下午 3 点-下午 6 点


    学习产出:

    提示:这里统计学习计划的总量
    例如:
    1、 技术笔记 2 遍
    2、CSDN 技术博客 3 篇
    3、 学习的 vlog 视频 1 个

    展开全文
  • javahttp中get请求的重发机制

    千次阅读 2018-03-22 19:38:48
    一、当发送get请求时,会遇到...2、main方法中的示例,是在第一次发送请求时捕获到异常信息,另外开启一个子线程,在子线程中循环发送请求,一直到请求获得响应为止,子线程中每次发送请求的时间间隔是1秒。/** * @...

    一、当发送get请求时,会遇到断网、链接超时等异常状况,通过测试用例,提供两种方式进行请求重发

    1、test()方法中的示例,是在当前主线程中,一直循环重发请求,一直到请求获得相应后不在重发,发送请求的时间间隔是2秒。

    2、main方法中的示例,是在第一次发送请求时捕获到异常信息,另外开启一个子线程,在子线程中循环发送请求,一直到请求获得响应为止,子线程中每次发送请求的时间间隔是1秒。

    /**
     * @auther Administrator
     * date 2018年3月22日
     * @time 上午11:12:07
     */
    package com.yooyii.qdp.test;
    
    import java.awt.AWTException;
    import java.awt.Robot;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Date;
    
    import javax.swing.Timer;
    import java.util.*;
    
    import org.apache.commons.lang.StringUtils;
    import org.junit.Test;
    
    import net.dongliu.requests.Requests;
    
    /**
     * @author Administrator
     *
     */
    public class ResendTest {
    	
    //	public static void main(String[] args) {  
    //        java.util.Timer timer = new java.util.Timer();// 实例化Timer类  
    //        timer.schedule(new TimerTask() {
    //        	@Override
    //            public void run() {  
    //                System.out.println("退出");  
    //                this.cancel();  
    //            }  
    //        }, 5000);// 这里百毫秒  
    //        System.out.println("本程序存在5秒后自动退出");  
    //    }
    	
    	@Test
    	public void test() {
    		while (true) {
    			String url2 = "https://www.baidu.com";
    			String report = "";
    			try {
    				report = Requests.get(url2).send().readToText();
    				if (StringUtils.isNotBlank(report)) {
    					System.out.println("成功!");
    					break;
    				}
    				System.out.println(report);
    				 
    			} catch (Exception e) {
    				System.out.println("重发!");
    			}
    			
    			try {
    				Robot r = new Robot();
    				System.out.println( "延时2秒");
    				r.delay(2000);
    			} catch (AWTException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    	
    	public static void main(String[] args) {
    		String url2 = "https://www.baidu.com";
    		String report = "";
    		try {
    			report = Requests.get(url2).send().readToText();
    			if (StringUtils.isNotBlank(report)) {
    				System.out.println("成功!");
    			}
    		} catch (Exception e) {
    			System.out.println("请求异常,需重新请求!");
    			Thread thread = new Thread(new Runnable() {
    				@Override
    	            public void run() {
    					while (true) {
    						String url2 = "https://www.baidu.com";
    						System.out.println("延迟");
    						try {
    							String report = Requests.get(url2).send().readToText();
    							if (StringUtils.isNotBlank(report)) {
    								System.out.println("重发成功!");
    								break;
    							}
    						} catch (Exception e2) {
    							System.out.println("请求异常,需重新请求!");
    						}
    						try {
    							Thread.sleep(1000);  
    						} catch (InterruptedException e2) {
    							// TODO: handle exception
    						}
    					}
    	            }
    	        });
    			thread.start();
    		}
    	}
    	
    }
    

    展开全文
  • //循环发送请求 RequestEntity entity = new StringRequestEntity(params,"application/json","GBK"); System.out.println(1); method.setRequestEntity(entity); System.out.println(2); ...
  • 本来想用java来写批量添加设备到IOT平台的,但是,想尝试用Python脚本写一下,就请教一下朋友,使用for k,v in 来读取多个参数,实现用POST请求 批量添加的功能   #!/usr/bin/env python # -*- coding:utf-8 -*-...

    本来想用java来写批量添加设备到IOT平台的,但是,想尝试用Python脚本写一下,就请教一下朋友,使用for k,v in 来读取多个参数,实现用POST请求 批量添加的功能

     

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import json
    import time
    import requests
    
    url = 'http://127.0.0.1:8080/add/serialnumber'
    headers = {'Accept': "application/json", 'Content-Type': 'application/json',
               'Authorization': 'Basic cxxxxXXXxxXXXxXXx'}
    a = {'869405030990008':['宝山路001号','TEST','TEST-ABC-NB01'], '869405030980009': ['宝山路002号','TEST','TEST-ABC-NB02'], '86940503099000a': ['宝山路00a号','TEST','TEST-ABC-NB01']}
    for key, value in a.items():
        data = {"serialNumber": key,  "protocol": "NB-IOT",  "groupName": "DM.TEST.TESTADD",
                "additionalParams": {'adaptationLayerName': 'TEST_NB', 'tag': 'TEST-ABC-NB-V1',"deployaddr": value[0], 'manufacturer':value[1], 'model':value[2],}}
        data = json.dumps(data)
        res = requests.post(url, data=data, headers=headers, auth=('test', 'Test#001'))
        print(key)
        print(res.content)
        time.sleep (1)

     

    展开全文
  • 最近在工作中,需要实现在iphone客户端中远程调用java后台来发送E-mail,其中远程调用是采用Hessian实现的 1、 首先粗略介绍一下Hessian。  Hessian是由Caocho公司发布的一个轻量级的二进制协议远程调用实现方案...

    最近在工作中,需要实现在iphone客户端中远程调用java后台来发送E-mail,其中远程调用是采用Hessian实现的

    1、  首先粗略介绍一下Hessian。

            Hessian是由Caocho公司发布的一个轻量级的二进制协议远程调用实现方案,Hessian也是基于HTTP协议的,其工作原理如下:

    (1).客户端:

    a.发送远程调用请求:

    客户端程序—>发送远程调用请求—>Hessian客户端拦截器—>封装远程调用请求—>Hessian代理—>通过HTTP协议发送远程请求代理到服务端。

    b.接收远程调用响应:

    远程调用结果—>HTTP响应—>客户端。

    (1).服务端:

    a.接收远程调用请求:

    远程调用HTTP请求—>HessianServiceExporter接收请求—>HessianExporter将远程调用对象封装为HessianSkeleton框架—> HessianSkeleton处理远程调用请求。

    b.返回远程调用响应:

    HessianSkeleton封装远程调用处理结果—>HTTP响应—>客户端。

     

    2、客户端配置

    在iphone使用Hessian,要先引入

    1
    #import <hessianutil/HessianKit.h>
    Java代码 复制代码 收藏代码
    1. @protocol EmailRPC <NSObject>    
    2. -(BOOL) sendMobileEmail:(NSString *)emailId withParams:(NSDictionary *)params;    //定义发送E-mail方法,并返回一个boolean值,该值是java服务端返回来的   
    3. @end  
    @protocol EmailRPC <NSObject> 
    -(BOOL) sendMobileEmail:(NSString *)emailId withParams:(NSDictionary *)params;    //定义发送E-mail方法,并返回一个boolean值,该值是java服务端返回来的
    @end
     
    Java代码 复制代码 收藏代码
    1. @property (nonatomic, strong) id<EmailRPC> rpcEmail;   //定义一个代理变量,实现EmailRPC protocol  
    @property (nonatomic, strong) id<EmailRPC> rpcEmail;   //定义一个代理变量,实现EmailRPC protocol
     
    Java代码 复制代码 收藏代码
    1. NSString *URL = @"http://192.168.1.133:8080/cpce/remoting/EmailService";                             //设置请求URL,与server端必须一致    
    2. [CWHessianArchiver setMethodName:@"sendMobileEmail" forSelector:@selector(sendMobileEmail:withParams:)]; //client端与server端的方法关联,第一个参数表示server端对应的方法   
    3. rpcEmail = (id<EmailRPC>)[CWHessianConnection proxyWithURL:URL protocol:@protocol(EmailRPC)]; //设置代理类  
    NSString *URL = @"http://192.168.1.133:8080/cpce/remoting/EmailService";                             //设置请求URL,与server端必须一致 
    [CWHessianArchiver setMethodName:@"sendMobileEmail" forSelector:@selector(sendMobileEmail:withParams:)]; //client端与server端的方法关联,第一个参数表示server端对应的方法
    rpcEmail = (id<EmailRPC>)[CWHessianConnection proxyWithURL:URL protocol:@protocol(EmailRPC)]; //设置代理类
     
    调用方法很简单
    Java代码 复制代码 收藏代码
    1. [rpcEmail sendMobileEmail:emailId withParams:dictionary]  
    [rpcEmail sendMobileEmail:emailId withParams:dictionary]
     

     

    3、java服务端配置

    Java代码 复制代码 收藏代码
    1. <bean name="/EmailService"  
    2.         class="org.springframework.remoting.caucho.HessianServiceExporter">   
    3.         <property name="service" ref="emailService" />   
    4.         <property name="serviceInterface" value="com.tts.cpce.email.service.EmailService" />   
    5. </bean>  
    <bean name="/EmailService"
            class="org.springframework.remoting.caucho.HessianServiceExporter">
            <property name="service" ref="emailService" />
            <property name="serviceInterface" value="com.tts.cpce.email.service.EmailService" />
    </bean>
     

    Spring的HessianServiceExporter把远程调用服务整合到Spring MVC框架中,通过DispatcherServlet将客户端请求转发到服务器端相应的请求url远程对象上。

    注意:EmailService要和客户端URL中配置的相同,service即是服务端提供服务的远程对象。

    服务端提供服务的接口,对应上面配置文件中的serviceInterface

    Java代码 复制代码 收藏代码
    1. public interface EmailService {​   
    2.     public boolean sendMobileEmail(String emailId, Map<String, Object> map);   //方法参数和和客户端传来的参数要一致,并且最后会返回一个boolean值,传回到客户端   
    3. }  
    public interface EmailService {​
        public boolean sendMobileEmail(String emailId, Map<String, Object> map);   //方法参数和和客户端传来的参数要一致,并且最后会返回一个boolean值,传回到客户端
    }
     

     如有不足,请各位大牛多加指点

    展开全文
  • Java套接字HTTP服务器 使用Java实现的具有URL映射功能的套接字http... “ server.accept()”获取请求,“ server.sendResponse()”基于网址模式从映射发送响应。 下图显示了浏览器中“ ”的输出: 下图显示了ap
  • 由于可能有多个离线文件,所以我打算循环输出多个outputstream。但是客户端得到的只是第一个OutputStream。请问怎么解决? 服务器端代码: protected void doGet(HttpServletRequest req, HttpServletResponse ...
  • Java NIO 详解

    2019-10-07 14:27:54
    http://www.cnblogs.com/phoebus0501/archive/2010/12/05/1897245.html 上图就是这个项目的总体结构图,从图中可以看出该程序分为这几大块:连接...1、 连接侦听线程循环接收一个连接请求,如果有连接请求过来,则...
  • Java服务器性能测试

    2008-12-16 11:17:00
    摘录:tomcat6.0.14、resin3.2.1、glassfish v2对同一个loginaction使用JMeter进行压力测试,具体流程:JMeter发送http请求--&gt;login.jsp--&gt;login.do--&gt;控制台打印一条信息表示收到request请求...
  • java面试宝典

    2013-02-28 16:04:01
    16、在JAVA 中,如何跳出当前的多重嵌套循环? 9 17、构造器Constructor 是否可被override? 9 18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 9 19、是否可以继承String 类? 9 ...
  • Java典型模块

    2012-02-25 18:27:40
    3.1.3 增强版for循环 3.1.4 基本数据的拆、装箱操作(autoboxing和unboxing) 3.2 枚举 3.2.1 枚举的实现原理 3.2.2 枚举的简单应用 3.2.3 枚举的高级特性 3.3 反射 3.3.1 反射的基石——Class类 3.3.2 反射的基本...
  • java 面试题 总结

    2009-09-16 08:45:34
    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...
  • // 在调用下边的getInputStream()函数时才把准备好的http请求正式发送到服务器 outStrm.close(); } // 调用HttpURLConnection连接对象的getInputStream()函数, // 将内存缓冲区中封装好的完整的HTTP请求...
  • 问题来了,在本类的MAIN方法中向队列中添加数据,就可以发送出去,在SERVLET中,通过HTTP请求添加,就是发送不出去!请大家帮忙看看,谢谢。下面是这个主要类的代码。 /** * */ package ...
  • redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别?  Java Bean 是可...
  • 单写client向第三方循环发送没有问题,该处打印ctx.channel [id: 0x5916337a, L:/xxx.xxx.x.xxx:55041 - R:/xxx.xxx.x.xxx:4002] ``` public void run(String host, int port) throws Exception { ...
  • System.out.println("while循环前,等待前端推送数据。。。。。。。。。。。。"); while ((hasRedad = is.read(buff)) > 0) { //必须这么写 System.out.println("接收到客户端" + socket...
  •  3.1.3 增强版for循环 31  3.1.4 基本数据的拆、装箱操作(autoboxing和unboxing) 32  3.2 枚举 34  3.2.1 枚举的实现原理 34  3.2.2 枚举的简单应用 36  3.2.3 枚举的高级特性 37  3.3 反射 39  ...
  •  3.1.3 增强版for循环 31  3.1.4 基本数据的拆、装箱操作(autoboxing和unboxing) 32  3.2 枚举 34  3.2.1 枚举的实现原理 34  3.2.2 枚举的简单应用 36  3.2.3 枚举的高级特性 37  3.3 反射 39...
  •  3.1.3 增强版for循环 31  3.1.4 基本数据的拆、装箱操作(autoboxing和unboxing) 32  3.2 枚举 34  3.2.1 枚举的实现原理 34  3.2.2 枚举的简单应用 36  3.2.3 枚举的高级特性 37  3.3 反射 39...
  •  3.1.3 增强版for循环 31  3.1.4 基本数据的拆、装箱操作(autoboxing和unboxing) 32  3.2 枚举 34  3.2.1 枚举的实现原理 34  3.2.2 枚举的简单应用 36  3.2.3 枚举的高级特性 37  3.3 反射 39...
  • 手写个Tomcat雏型

    2020-12-20 19:26:51
    前言 目的: ... 准备知识: OOP:面向对象编程思想 collection:Java常用容器 ...客户端发送一个HTTP请求。 服务器端收到请求后,加载一次XML文件解析,主要目的是获得客户的请求网址对应的那个Servlet(服
  • 请求时json格式,数据量比较大,基本每次请求内容在800KB左右,连续发送请求时,会在某一次请求读取时报socketTimeout异常.read time out 这是因为请求内容问题吗?导致死循环. 求解,万分感谢 异常如下: java.net....
  • //通过HTTP请求中的uri读取相应文件发送给客户端 FileInputStream writehtml = new FileInputStream(new File("wwwroot"+uri)); outSocket.write("\r\n".getBytes()); byte[] htmlbuffer = new byte...
  • at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.net.SocketInputStream.read(SocketInputStream.java:90) at test.UserSocket.run(UserSocket.java:43) java.net.SocketException: ...
  • // 发送请求,得到响应 HttpResponse response = httpClient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null && HttpStatus.SC_OK == response.getStatusLine...

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

java循环发送http请求

java 订阅