㈠ 求使用httpClient项目实现向指定网络URL传参并获得返回值的代码
packagecom.weixin.util;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.StringWriter;
importjava.io.UnsupportedEncodingException;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Map;
importorg.apache.http.Header;
importorg.apache.http.HttpHost;
importorg.apache.http.HttpResponse;
importorg.apache.http.HttpStatus;
importorg.apache.http.HttpVersion;
importorg.apache.http.ParseException;
importorg.apache.http.client.ClientProtocolException;
importorg.apache.http.client.HttpClient;
importorg.apache.http.client.entity.UrlEncodedFormEntity;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.client.params.CookiePolicy;
importorg.apache.http.client.params.HttpClientParams;
importorg.apache.http.conn.params.ConnRoutePNames;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.apache.http.message.BasicNameValuePair;
importorg.apache.http.params.BasicHttpParams;
importorg.apache.http.params.HttpConnectionParams;
importorg.apache.http.params.HttpParams;
importorg.apache.http.params.HttpProtocolParams;
importorg.apache.http.protocol.HTTP;
//importbsh.ParseException;
importcom.google.gson.Gson;
/**
*TODO
*@Version1.0
*/
publicclassHttpClients{
/**UTF-8*/
privatestaticfinalStringUTF_8="UTF-8";
/**日志记录tag*/
privatestaticfinalStringTAG="HttpClients";
/**用户host*/
privatestaticStringproxyHost="";
/**用户端口*/
privatestaticintproxyPort=80;
/**是否使用用户端口*/
privatestaticbooleanuseProxy=false;
/**连接超时*/
privatestaticfinalintTIMEOUT_CONNECTION=60000;
/**读取超时*/
privatestaticfinalintTIMEOUT_SOCKET=60000;
/**重试3次*/
privatestaticfinalintRETRY_TIME=3;
/**
*@paramurl
*@paramrequestData
*@return
*/
publicStringdoHtmlPost(HttpClienthttpClient,HttpPosthttpPost)
{
StringresponseBody=null;
intstatusCode=-1;
try{
HttpResponsehttpResponse=httpClient.execute(httpPost);
HeaderlastHeader=httpResponse.getLastHeader("Set-Cookie");
if(null!=lastHeader)
{
httpPost.setHeader("cookie",lastHeader.getValue());
}
statusCode=httpResponse.getStatusLine().getStatusCode();
if(statusCode!=HttpStatus.SC_OK){
System.out.println("HTTP"+""+"HttpMethodfailed:"+httpResponse.getStatusLine());
}
InputStreamis=httpResponse.getEntity().getContent();
responseBody=getStreamAsString(is,HTTP.UTF_8);
}catch(Exceptione){
//发生网络异常
e.printStackTrace();
}finally{
// httpClient.getConnectionManager().shutdown();
// httpClient=null;
}
returnresponseBody;
}
/**
*
*发起网络请求
*
*@paramurl
*URL
*@paramrequestData
*requestData
*@returnINPUTSTREAM
*@throwsAppException
*/
publicstaticStringdoPost(Stringurl,StringrequestData)throwsException{
StringresponseBody=null;
HttpPosthttpPost=null;
HttpClienthttpClient=null;
intstatusCode=-1;
inttime=0;
do{
try{
httpPost=newHttpPost(url);
httpClient=getHttpClient();
//设置HTTPPOST请求参数必须用NameValuePair对象
List<BasicNameValuePair>params=newArrayList<BasicNameValuePair>();
params.add(newBasicNameValuePair("param",requestData));
UrlEncodedFormEntityentity=newUrlEncodedFormEntity(params,HTTP.UTF_8);
//设置HTTPPOST请求参数
httpPost.setEntity(entity);
HttpResponsehttpResponse=httpClient.execute(httpPost);
statusCode=httpResponse.getStatusLine().getStatusCode();
if(statusCode!=HttpStatus.SC_OK){
System.out.println("HTTP"+""+"HttpMethodfailed:"+httpResponse.getStatusLine());
}
InputStreamis=httpResponse.getEntity().getContent();
responseBody=getStreamAsString(is,HTTP.UTF_8);
break;
}catch(UnsupportedEncodingExceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生致命的异常,可能是协议不对或者返回的内容有问题
e.printStackTrace();
}catch(ClientProtocolExceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生致命的异常,可能是协议不对或者返回的内容有问题
e.printStackTrace();
}catch(IOExceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生网络异常
e.printStackTrace();
}catch(Exceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生网络异常
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
httpClient=null;
}
}while(time<RETRY_TIME);
returnresponseBody;
}
/**
*
*将InputStream转化为String
*
*@paramstream
*inputstream
*@paramcharset
*字符集
*@return
*@throwsIOException
*/
(InputStreamstream,Stringcharset)throwsIOException{
try{
BufferedReaderreader=newBufferedReader(newInputStreamReader(stream,charset),8192);
StringWriterwriter=newStringWriter();
char[]chars=newchar[8192];
intcount=0;
while((count=reader.read(chars))>0){
writer.write(chars,0,count);
}
returnwriter.toString();
}finally{
if(stream!=null){
stream.close();
}
}
}
/**
*得到httpClient
*
*@return
*/
(){
finalHttpParamshttpParams=newBasicHttpParams();
if(useProxy){
HttpHostproxy=newHttpHost(proxyHost,proxyPort,"http");
httpParams.setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
}
HttpConnectionParams.setConnectionTimeout(httpParams,TIMEOUT_CONNECTION);
HttpConnectionParams.setSoTimeout(httpParams,TIMEOUT_SOCKET);
HttpClientParams.setRedirecting(httpParams,true);
finalStringuserAgent="Mozilla/5.0(Windows;U;WindowsNT6.1;zh-CN;rv:1.9.2.14)Gecko/20110218Firefox/3.6.14";
HttpProtocolParams.setUserAgent(httpParams,userAgent);
HttpProtocolParams.setVersion(httpParams,HttpVersion.HTTP_1_1);
HttpClientParams.setCookiePolicy(httpParams,CookiePolicy.RFC_2109);
HttpProtocolParams.setUseExpectContinue(httpParams,false);
HttpClientclient=newDefaultHttpClient(httpParams);
returnclient;
}
/**
*
*得到httpClient
*
*@return
*/
(){
finalHttpParamshttpParams=newBasicHttpParams();
if(useProxy){
HttpHostproxy=newHttpHost(proxyHost,proxyPort,"http");
httpParams.setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
}
HttpConnectionParams.setConnectionTimeout(httpParams,TIMEOUT_CONNECTION);
HttpConnectionParams.setSoTimeout(httpParams,TIMEOUT_SOCKET);
HttpClientParams.setRedirecting(httpParams,true);
finalStringuserAgent="Mozilla/5.0(Windows;U;WindowsNT6.1;zh-CN;rv:1.9.2.14)Gecko/20110218Firefox/3.6.14";
HttpProtocolParams.setUserAgent(httpParams,userAgent);
HttpProtocolParams.setVersion(httpParams,HttpVersion.HTTP_1_1);
HttpClientParams.setCookiePolicy(httpParams,CookiePolicy.BROWSER_COMPATIBILITY);
HttpProtocolParams.setUseExpectContinue(httpParams,false);
HttpClientclient=newDefaultHttpClient(httpParams);
returnclient;
}
/**
*打印返回内容
*@paramresponse
*@throwsParseException
*@throwsIOException
*/
publicstaticvoidshowResponse(Stringstr)throwsException{
Gsongson=newGson();
Map<String,Object>map=(Map<String,Object>)gson.fromJson(str,Object.class);
Stringvalue=(String)map.get("data");
//StringdecodeValue=Des3Request.decode(value);
//System.out.println(decodeValue);
//logger.debug(decodeValue);
}
/**
*
*发起网络请求
*
*@paramurl
*URL
*@paramrequestData
*requestData
*@returnINPUTSTREAM
*@throwsAppException
*/
publicstaticStringdoGet(Stringurl)throwsException{
StringresponseBody=null;
HttpGethttpGet=null;
HttpClienthttpClient=null;
intstatusCode=-1;
inttime=0;
do{
try{
httpGet=newHttpGet(url);
httpClient=getHttpClient();
HttpResponsehttpResponse=httpClient.execute(httpGet);
statusCode=httpResponse.getStatusLine().getStatusCode();
if(statusCode!=HttpStatus.SC_OK){
System.out.println("HTTP"+""+"HttpMethodfailed:"+httpResponse.getStatusLine());
}
InputStreamis=httpResponse.getEntity().getContent();
responseBody=getStreamAsString(is,HTTP.UTF_8);
break;
}catch(UnsupportedEncodingExceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生致命的异常,可能是协议不对或者返回的内容有问题
e.printStackTrace();
}catch(ClientProtocolExceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生致命的异常,可能是协议不对或者返回的内容有问题
e.printStackTrace();
}catch(IOExceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生网络异常
e.printStackTrace();
}catch(Exceptione){
time++;
if(time<RETRY_TIME){
try{
Thread.sleep(1000);
}catch(InterruptedExceptione1){
}
continue;
}
//发生网络异常
e.printStackTrace();
}finally{
httpClient.getConnectionManager().shutdown();
httpClient=null;
}
}while(time<RETRY_TIME);
returnresponseBody;
}
}
㈡ 一个有返回值的方法怎么在网络请求成功以后再返回数据
while(Xhr.readyState != 4){ var time1 = 获取当前时间;//我不知道怎么获取当前时间 var time2; while(true){ time2 = 获取当前时间; if(time2 - time1 == 1分钟){ //如果是格林威治时间1分钟这里写60*1000 break; } } Xhr.send(null); }
㈢ 4G网络参数设置
我司4G手机参数:APN(接入点、访问点):3gwap/3GWAP,代理服务器地址:10.0.0.172,端口:80。您点击手机设置>数据连接>移动网络设置>网络模式>LTE(首选 )/WCDMA/GSM,即可打开HTC手机4G网络设置。
使用联通4G网络需要三个条件:使用开通联通4G功能的USIM卡、手持支持联通4G网络终端、在有联通4G网络的覆盖下。建议您通过以上条件进行排障。
—————
iPhone SE已正式发售,了解合约机的最新消息请点击http://www.10010.com/02Mq4;
您可能还关注:
优惠大赠送!【业务办理,方便快捷!】【全新推出广东流量快餐包,流量不够用?打个快餐吧!大流量当天有效!】~~还等什么,点击下列相应链接进行办理吧!
【广东业务推荐】:http://t.cn/RGJEtzu;
【广东流量快餐包】:5元1GB http://t.cn/RGJEf9Q; 10元3GB http://t.cn/RGJEfCm;
㈣ IPHONE手机的网络参数设置是怎么样的
IPHONE手机的网络设置方法如下:设置-飞行模式-关闭;设置-wifi-打开或关闭皆可;设置-VPN-关闭;设置-运营商-搜索后可自行查找到CHN-CUGSM;设置-推送-打开,获取可任意选择,通常选手动;设置-通用-网络-启用3G-打开。(上述内容仅适用于广东联通用户)
㈤ 手机上网参数设置
接入点名称cmwap,代理ip10.0.0.172端口80没有的保持原有
㈥ 判断网络请求返回值是json还是字符串
jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据。
另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以。
㈦ 从第三方接口地址获取返回的参数
1. 创建HttpClient对象。
2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。
3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity entity)方法来设置请求参数。
4. 调用HttpClient对象的execute(HttpUriRequest request)发送请求,该方法返回一个HttpResponse。
5. 调用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可获取服务器的响应头;调用HttpResponse的getEntity()方法可获取HttpEntity对象,该对象包装了服务器的响应内容。程序可通过该对象获取服务器的响应内容。
6. 释放连接。无论执行方法是否成功,都必须释放连接
㈧ 发起网络请求后,如何取出回调函数里返回的
你好!
你的设计意图在引入ajax回调之后不可能实现了.
按你的设计目的,我建议你这样改进:
function Password_CallBack(response) {
document.getElementById('hiddenPassword').value = response;
//这里取消 return confirm('The password has been reset to ' + response + ' , do you want to send email?');
//改为:
if(confirm('The password has been reset to ' + response + ' , do you want to send email?'))
{
//在这里再发起一次ajax请求,在server端实现发送email重置密码的通知.
}
}
另一种解决方案是:
public static string GetPassword()加一个bool类型的参数sendEmail,在server端直接实现发送email.
在调用ajax请求GetPassword之前,先请用户 var sendEmail=confirm('The password has been reset to ' + response + ' , do you want to send email?');
把confirm返回的结果作为参数传给GetPassword方法.
最后 .一楼的解决方法看上去可行,但实际 运行时,A永远都是null.不会实现正确效果