下面的示例程序是HTTP协议使用HttpClient接口的应用示例,其用意是将请求里的数据封装后,通过http协议提交请求。先写下了备用。
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class InvokeExternal{
private ThreadLocal<HttpClient> threadLocal = new ThreadLocal<HttpClient>();
String url = "";//某url
public void initOperate(){
HttpClient client = threadLocal.get();
if(client == null){
client = new HttpClient();
client.setConnectionTimeout(5000);
client.setTimeout(2000);
client.setHttpConnectionFactoryTimeout(5000);
threadLocal.set(client);
}
// setHost方法的三个参数(String host, int port, String protocol)
//"http"通过这样的方式Protocol.getProtocol(“http”)指定是HTTP协议
client.getHostConfiguration().setHost(host,8080,"http");
PostMethod postMethod = new PostMethod(url);
NameValuePair[] parametersBody = {new NameValuePair("param1","param1value"),new NameValuePair("param2","param2value")};//将参数放入NameValuePair数组
postMethod.setRequestBody(parametersBody);
client.executeMethod(postMethod);
String value = postMethod.getResponseBodyAsString();
//对返回值进行处理
}
}