如何接收httpclient发送的请求
客户端向服务器发送数据份两种情况SSL单向验证SSL双向验证
1.SSL单向验证
代码:
Java代码
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class ClientSendData {
static Log log = LogFactory.getLog(ClientSendData.class);
private String Url;
// 初始化数据
public ClientSendData() {
Url = ““;
}
public String sendData(String data) {
String receivedData = null;
try {
Map paramsData = new HashMap();
paramsData.put(“data“, data);
receivedData = send(Url, paramsData);
} catch (Exception e) {
e.printStackTrace();
}
return receivedData;
}
public static String send(String url, Map paramsMap) {
String result = null;
PostMethod postMethod = null;
HttpClient httpClient = new HttpClient();
httpClient.getParams().setParameter(
HttpMethodParams.HTTP_CONTENT_CHARSET, “utf-8“);
postMethod = new PostMethod(url);
if (paramsMap != null && paramsMap.size() 》 0) {
NameValuePair datas = new NameValuePair[paramsMap.size()];
int index = 0;
for (String key : paramsMap.keySet()) {
datas[index++] = new NameValuePair(key, paramsMap.get(key));
}
postMethod.setRequestBody(datas);
}
HttpClientParams httparams = new HttpClientParams();
httparams.setSoTimeout(60000);
postMethod.setParams(httparams);
try {
int statusCode = httpClient.executeMethod(postMethod);
if (statusCode == HttpStatus.SC_OK) {
result = postMethod.getResponseBodyAsString();
log.info(“发送功“);
} else {
log.error(“ http response status is “ + statusCode);
}
} catch (HttpException e) {
log.error(“error url=“ + url, e);
} catch (IOException e) {
log.error(“error url=“ + url, e);
} finally {
if (postMethod != null) {
postMethod.releaseConnection();
}
}
return result;
}
public static void main(String args) {
ClientSendData t = new ClientSendData();
t.sendData(“测试SSL单项连接向服务端发送数据!“);
}
}
能现异
1.java.net.ConnectException: Connection refused: connect
服务器没启
2 .javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed
服务端证书信解决办见篇文章
3.java.net.SocketException: Software caused connection abort: recv failed
由于服务端配置SSL双向认证客户端发送数据按照服务器单向认证发送即没客户端证书信息起发送给服务端
4.org.apache.commons.httpclient.NoHttpResponseException
般服务端防火墙原拦截客户端请求
另外服务端负载重现问题
5.javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
由于服务端配置SSL双向认证客户端发送数据按照服务器单向认证发送即没客户端证书信息起发送给服务端服务端验证客户端证书发现客户端没证书断握手连接
2.SSL双向验证
双向验证暂知道何用HTTPCLIENT发送数据需要双向验证发送数据参考我另外文章另外知道HTTPCLIENT何双向验证发送数据恳请指教
carnival是什么牌子
Carnival 手表品牌嘉年华, 不是韩国的,嘉年华手表是瑞士嘉年华国际集团有限公司属下的一个品牌。
嘉年华秉承瑞士制造技术和设计款式,突破传统的以成熟经典表款为主流的局面,开拓全新的年轻时尚经典风格,以国际与国内市场为目标并不懈努力。
嘉年华(JIANIANHUA)手表的目标消费群体主要是年轻群体和时尚人士,针对这些群体工作繁忙、学习快、生活节奏快的特点,以及他们追求时尚、年轻、自由、休闲的工作和生活态度。
扩展资料:
手表保养的注意事项:
一、不要随意打开手表后盖,以免灰尘进入机芯,影响手表的正常工作。
二、不要把手表放在收音机或电视上,以免被磁化,也不要把它放在有强电磁波(电视、声音等)的物体附近。
三、石英表长期存放时,应停止运转,以免浪费电池。
四、机械表长期存放时,应每月定期上弦一次,防止零件长时间静止,以保证表机的工作性能。
五、避免将药物放置在易挥发或易挥发的物质附近,如去除轻水或稀释剂等有机溶剂或含有汽油、指甲油、化妆品等清洁剂。
六、与金属表带相比,汗水和湿气会对皮表带造成更大的伤害,所以在意外受潮时,请尽快用吸水性强的软布擦干。易出汗的季节,可以调节肩带的松紧,提高透气性。
参考资源来源:
百度百科-嘉年华手表
exactly rightly correctly 区别
exactly,比较像中文的:恰好是、正是,到底是。
比如:这正是我需要的,你到底要干嘛,这种就是exactly
rightly,比较像中文的:恰当的、得体的
比如,他用很恰当得体的方式回避了记者的尖锐问题,这种用rightly
correctly,就是准确的,无误的
比如,正确的填补全句子中的空缺,准确的计算出这道题的结果,就用correctly
-lie