下面的示例程序是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();
//對返回值進行處理
}
}