httpclient网页提交参数如何使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpclient网页提交参数如何使用相关的知识,希望对你有一定的参考价值。

        // HttpPost连接对象  
        HttpPost httpRequset = new HttpPost("http://192.168.0.100:8080/demo/");  
        // 使用NameValuePair来保存要传递的Post参数  
        List<NameValuePair> params = new ArrayList<NameValuePair>();  
        // 添加要传递的参数  
        params.add(new BasicNameValuePair("name", "jack"));  
        try   
            // 设置字符集  
            HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312");  
            // 请求httpRequset  
            httpRequset.setEntity(httpentity);  
            // 取得HttpClient  
            HttpClient httpClient = new DefaultHttpClient();  
            // 取得HttpResponse  
            HttpResponse httpResponse = httpClient.execute(httpRequset);  
            if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)   
                String strResult = EntityUtils.toString(httpResponse  
                        .getEntity());  
                System.out.println(strResult);  
            else   
                System.out.println("请求错误");  
              
          
        catch(Exception e)   
            e.printStackTrace();  
        

参考技术A 这就是HttpClient发送数据代码
1. 首先,发送的时候

HttpClient client = new HttpClient();
PostMethod method = new PostMethod(URL);//具体method里面还可以设置一下编码,header之类的
//1. 第一种方式,基于Content-Type=‘multipart/form-data’形式的表单
Part[] parts = ...;//FilePart和StringPart都可以放进去
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
//2. 第二种方式,普通表单
NameValuePair[] pairs = ...;//纯参数了,键值对
method.addParameters(pairs);

client.executeMethod(method);

当然了,还可能有其他的一些形式,这里不过多的说明了,有API可以参考
2. 接收的时候

private void parseRequest(HttpServletRequest request) throws Exception
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart)
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
for (int i = 0; i < items.size(); i++)
FileItem item = (FileItem) items.get(i);
if (!item.isFormField())
//文件数据
else
//普通表单数据


else
Enumeration en = request.getParameterNames();
while (en.hasMoreElements())
String paramName = (String) en.nextElement();
String paramValue = request.getParameter(paramName);




如上便是我之前写的代码了,接收表单数据,没什么问题

以上是关于httpclient网页提交参数如何使用的主要内容,如果未能解决你的问题,请参考以下文章

java,导入httpClient包postMethod如何向指定网页传入账号密码,并且获得跳转后页面的url?

HttpClient学习整理

HttpClient学习整理

如何使用HttpClient模拟浏览器GET POST

java模拟登陆时,post提交,对方网页提交时是鼠标onclick触发数据交流的,我该怎么弄?

如何获取一个网页POST的提交的参数