`
shendixiong
  • 浏览: 398675 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

HttpClient提交表单 或访问接口

    博客分类:
  • java
阅读更多
public static String getStringURLtoPost(String url,
			Map<String, Object> parms) {  
		if ("".equals(url) || parms == null || url.trim().length() <= 0
				|| parms.size() <= 0) {
			return null;
		}
		HttpClient httpClient = new HttpClient(); 
		PostMethod postMethod = new PostMethod(url); //此处为你访问的接口 或页面


          //设置编码 防止中文乱码


       httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
  
               //此处为集合里面的值!遍历map集合中的key和value!其实,这里是关键!这里就是表单数据


		NameValuePair[] data = new NameValuePair[parms.keySet().size()];
		Iterator it = parms.entrySet().iterator();
		int i = 0;
		while (it.hasNext()) {
			Map.Entry entry = (Map.Entry) it.next();
			Object key = entry.getKey();
			Object value = entry.getValue();
			data[i] = new NameValuePair(key.toString(), value.toString());
			i++;
		}
		postMethod.setRequestBody(data); //这里就是将值传过去(接口中)!


		try {
			httpClient.executeMethod(postMethod); //执行


			return postMethod.getResponseBodyAsString(); //得到接口中返回的数据


		} catch (Exception e) {
			e.printStackTrace();
		} finally{
			postMethod.releaseConnection();  //关闭(销毁


                }
                 return null;
}

public static int getCheckInUrl(VideoAsset asset,String username,String text_comments){
		int Checkin_status = CHECKIN_STATUS_FAIL;
		StringBuffer buffer = new StringBuffer();
		Map<String, Object> parms = new HashMap<String, Object>();
		buffer.append("127.0.0.1:82/webservice/sign.jsp?action=add");
        //其实.这就相当于,我们的初始页面!然后,下面的数据就是table表单要提交的字段!


		
		if(asset == null){
			Checkin_status = CHECKIN_STATUS_FAIL;
		}if(asset.getAssetId()>=0){
			parms.put("assetid", asset.getAssetId());
		}if(asset.getItemId()>=0){
			parms.put("itemid", asset.getItemId());
		}if(!"".equals(asset.getAssetType().trim())&&asset.getAssetType()!=null){
			parms.put("assettype", asset.getAssetType().trim());
		}if(!"".equals(asset.getAssetCode().trim())&&asset.getAssetCode()!=null){
			parms.put("assetcode", asset.getAssetCode().trim());
		}if(!"".equals(username.trim())&&username !=null){
			parms.put("username", username.trim());
		}if(!"".equals(asset.getAssetName().trim())&&asset.getAssetName()!=null){
			parms.put("assetname", asset.getAssetName().trim());
		}if(!"".equals(text_comments.trim())&&text_comments!=null){
			parms.put("text_comments", text_comments);
		}
//将要提交的字段数据放入进去!


		
		return getFromUrltoPost(buffer.toString(), parms); 
	} 

public static int getFromUrltoPost(String url,Map<String, Object> parms){
		int Checkin_status = CHECKIN_STATUS_FAIL;
		try {
			Checkin_status = Integer.parseInt(StringUtil.getStringURLtoPost(url, parms));
			return Checkin_status;
		} catch (NumberFormatException e) {
			Checkin_status = CHECKIN_STATUS_UNKNOWNUSERNAME;
			return Checkin_status;
		}finally{
			return Checkin_status;
		}
		
	}

/*
*最后要告诉大家的是!如果不懂,可以试想成,你做一个简单的登陆页面!里面有name和password哪个字段!
*而假设你的访问页面是http://127.0.0.1:82/hello.jsp
*你用post方式!那么你在集合里面就应该put两个,一个是name,一个是password 
*也就是put("name",name) ,put("password",password); 也访问的页面就是你的url(道理就相当于一个
*简易的登陆提交)
*/


	 

分享到:
评论

相关推荐

    HttpClient接口调用工具类(附带demo)

    在HTTP中,Post请求通常用于向服务器发送数据,比如注册新用户或提交表单。在HttpClient中,你可以通过`HttpPost`类来创建一个POST请求,然后使用`setEntity`方法添加请求体。最后,通过`HttpClient`的`execute`...

    HttpClient3.1.jar

    在实际开发中,HttpClient3.1可以很好地集成到任何Java应用中,无论是简单的HTTP GET请求还是复杂的表单提交、文件上传,都能得心应手。然而,需要注意的是,HttpClient3.1已较为陈旧,后续的版本如HttpClient 4.x...

    httpClient4.1入门教程.

    - `CloseableHttpClient`:HttpClient 的核心接口,负责创建和管理 HTTP 会话。 - `HttpGet` / `HttpPost` / `HttpPut` 等:表示不同类型的 HTTP 请求方法。 - `HttpResponse`:代表 HTTP 响应对象,包含了服务器...

    HttpClient4.3需要的jar

    - **POST**:POST用于向服务器提交数据,通常用于表单提交或更新资源。HttpClient使用`HttpPost`类处理POST请求。 3. **Jar包依赖**: - **log4j-1.2.17.jar**:这是Log4j的日志记录库,用于在程序中记录错误和...

    org.apache.commons.httpclient-3.1.jar

    2. **发送POST请求**:提交表单数据,如登录、注册或上传文件。 3. **处理响应**:解析HTTP响应,提取所需信息,如状态码、响应头和主体内容。 4. **管理Cookies**:维持会话状态,实现登录保持功能。 5. **使用代理...

    C#利用post访问接口

    POST是HTTP协议中的一个方法,用于向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求正文中,可以是JSON、XML或其他格式。 在C#中,我们可以使用HttpClient类来实现POST请求。...

    HttpClient登录

    在文件名列表中的"photo163"可能是网易相册的某种标识,如果这是登录后访问的资源,你可能需要在登录成功后,使用相同的`HttpClient`实例来发送新的GET请求获取资源。 总的来说,HttpClient提供了一套强大的工具来...

    HTTPClient(Web客户端)

    WinInet是微软提供的一个用于Internet访问的API,而WinHttp则是更现代且性能更高的接口,两者都可以用来实现HTTPClient的功能。 通过学习和理解这个HTTPClient项目,开发者不仅可以掌握MFC的应用,还可以深入理解...

    HttpClient框架所需的jar包和一个简单实例

    3. `httpmime.jar`:这个库支持MIME类型的数据发送,比如表单提交或上传文件。 4. `commons-logging.jar`:HttpClient使用了 Commons Logging API 进行日志记录,这个库是必需的。 5. `commons-codec.jar`:编码和...

    基于HttpClient的HttpUtils(后台访问URL)

    2. **发送POST请求**:使用HttpPost,可以添加请求头和参数,适合提交表单数据或JSON数据。 3. **处理响应**:HttpUtils会解析HttpClient返回的HttpResponse对象,提取出响应状态码、响应头和响应体,通常会提供...

    HttpClient以及获取页面内容应用

    * post方式提交表单(模拟用户登录请求) */ public void postForm() { // 创建默认的httpClient实例. CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建httppost ...

    httpclient--jar包

    - **模拟登录**:处理登录过程,包括提交表单数据、处理验证码等。 - **自动化测试**:在测试框架中模拟用户行为,测试Web应用的功能。 使用HttpClient的步骤通常包括以下几个环节: 1. 创建HttpClient实例。 2. ...

    HttpClient模拟登陆方正系统

    2. 构建POST请求:模拟登录通常涉及到POST请求,因为登录通常需要提交表单数据。我们可以使用HttpPost对象来构建请求: ```java HttpPost httpPost = new HttpPost("http://example.com/login"); ``` 3. 设置请求头...

    HttpClient.rar

    - POST方法:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改。 2. HttpClient库设计: - "httpclient.cpp"和...

    使用_HttpClient_和_HtmlParser_实现简易爬虫

    6. **POST请求**:支持表单数据提交,文件上传等。 HttpClient 的使用通常包括创建HttpClient实例,配置请求参数,执行GET或POST请求,并处理响应。例如,使用HttpGet和HttpPost类创建请求,通过HttpResponse获取...

    Android 中HttpURLConnection与HttpClient使用的简单实例

    代码如下:public class HttpHelper { //1:标准的Java接口 public static String getStringFromNet1(String param){ String result=””; try{ URL url=new URL(param); HttpURLConnection conn=...

    PB11.2编写POST接口样例

    在HTTP协议中,POST请求常用于向服务器发送数据,比如提交表单或者上传文件。在PB11.2中实现POST接口,我们通常会使用HTTP客户端库或者自定义网络通信组件来完成这个任务。 1. **创建HTTP客户端对象**: PB11.2...

    WP7.5Or Winform模拟登陆(异步)

    2. 提交表单,可以是通过WebBrowser控件的InvokeScript方法模拟点击提交按钮,也可以是通过HttpClient类发起POST请求。 3. 如果使用HttpClient,创建一个HttpPost对象,设置URL为登录表单的提交地址,添加请求头和...

    爬虫模拟登陆、爬虫模拟登陆

    3. 发送登录请求:使用HttpClient发送POST请求,提交登录信息。 4. 处理登录响应:如果登录成功,服务器会返回一个带有登录状态的响应,可能还会设置Cookie。我们需要保存这些信息,以便后续的请求能保持登录状态。 ...

Global site tag (gtag.js) - Google Analytics