下面提供二种方法会使用java发送url请求,并获取服务器返回的值
第一种方法:
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;
publicstaticStringsendUrlRequest(StringurlStr,Stringparam1,Stringparam2)throwsException{StringtempStr=null;HttpClienthttpclient=newDefaultHttpClient();Propertiesproperties=newProperties();HttpEntityentity=null;StringxmlContent="";try{
//设置超时时间httpclient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,20000);httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,20000);
//封装需要传递的参数Listnvps=newArrayList();nvps.add(newBasicNameValuePair("mainMemoCode",strmainMemoCode));nvps.add(newBasicNameValuePair("recordPassWord",strrecordPassWord));//客户端的请求方法类型HttpPosthttpPost=newHttpPost(urlStr);httpPost.setEntity(newUrlEncodedFormEntity(nvps,"GBK"));HttpResponseresponse=httpclient.execute(httpPost);
//获取服务器返回Http的Content-Type的值tempStr=response.getHeaders("Content-Type")[0].getValue().toString();
//获取服务器返回页面的值entity=response.getEntity();xmlContent=EntityUtils.toString(entity);Stringstrmessage=null;System.out.println(xmlContent);System.out.println(response.getHeaders("Content-Type")[0].getValue().toString());httpPost.abort();
}catch(SocketTimeoutExceptione){}catch(Exceptionex){ex.printStackTrace();}finally{httpclient.getConnectionManager().shutdown();}
第二种方法:
publicstaticStringsendUrlRequest(StringurlStr,Stringparam1,Stringparam2)throwsException{
HttpURLConnectionurl_con=null;try{URLurl=newURL(urlStr);StringBufferbankXmlBuffer=newStringBuffer();//创建URL连接,提交到数据,获取返回结果HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();connection.setRequestMethod("POST");connection.setDoOutput(true);connection.setRequestProperty("User-Agent","directclient");
PrintWriterout=newPrintWriter(newOutputStreamWriter(connection.getOutputStream(),"GBK"));out.println(param);out.close();BufferedReaderin=newBufferedReader(newInputStreamReader(connection.getInputStream(),"GBK"));
StringinputLine;
while((inputLine=in.readLine())!=null){bankXmlBuffer.append(inputLine);}in.close();tempStr=bankXmlBuffer.toString();}catch(Exceptione){System.out.println("发送GET请求出现异常!"+e);e.printStackTrace();
}finally{if(url_con!=null)url_con.disconnect();}
returntmpeStr;}