一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。
此处用HttpComponents的httpclient来完成使命。
import org.apache.http.HttpEntity ;
import org.apache.http.HttpResponse ;
import org.apache.http.client.HttpClient ;
import org.apache.http.client.methods.HttpPost ;
import org.apache.http.impl.client.DefaultHttpClient ;
import org.apache.http.util.EntityUtils ;
import org.junit.Test ;
import java.io.IOException ;
/**
* 测试接口
* Created by jiangzhq on 2015/7/10.
*/
public class ApiTest {
@Test
public void testPost () throws IOException {
HttpClient client = new DefaultHttpClient() ;
HttpPost post = new HttpPost("http://127.0.0.1:8080/app/index" ) ;
post.setHeader( "storeId" ,"1456" ) ;
post.setHeader( "platform" , "IOS" ) ;
post.setHeader( "device" , "Iphone6 plus" ) ;
post.setHeader( "venderId" , "5" ) ;
HttpResponse response = client.execute(post) ;
if (response.getStatusLine().getStatusCode() == 200 ) {
HttpEntity resEntity = response.getEntity() ;
String message = EntityUtils. toString(resEntity , "utf-8") ;
System. out .println(message);
} else {
System. out.println(response.getStatusLine().getStatusCode()) ;
System. out .println("请求失败" ) ;
}
}
}