`
yhq1212
  • 浏览: 82021 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

后台模拟POST

    博客分类:
  • java
 
阅读更多

String url = "www.baidu.com";  
   NameValuePair[] data = {new NameValuePair("admin_userid", String.valueOf( this.getLoginUserMap().get("admin_userid")))};  
   String response= new MethodPost().methodPost(url,data);  
 

 

 


import java.io.IOException;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class MethodPost {
 public String methodPost(String url, NameValuePair[] data) {

  String response = "";// 要返回的response信息
  HttpClient httpClient = new HttpClient();
  PostMethod postMethod = new PostMethod(url);
  postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8"); 
  // 将表单的值放入postMethod中
  postMethod.setRequestBody(data);
  // 执行postMethod
  int statusCode = 0;
  try {
   statusCode = httpClient.executeMethod(postMethod);
  } catch (HttpException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
  // 301或者302
  if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
   // 从头中取出转向的地址
   Header locationHeader = postMethod.getResponseHeader("location");
   String location = null;
   if (locationHeader != null) {
    location = locationHeader.getValue();
    System.out.println("The page was redirected to:" + location);
    response = methodPost(location, data);// 用跳转后的页面重新请求。
   } else {
    System.err.println("Location field value is null.");
   }
  } else {
   System.out.println(postMethod.getStatusLine());

   try {
    response = postMethod.getResponseBodyAsString();
   } catch (IOException e) {
    e.printStackTrace();
   }
   postMethod.releaseConnection();
  }
  return response;
 }

}

分享到:
评论

相关推荐

    DELPHI POSTMESSAGE后台模拟按键源代码

    DELPHI POSTMESSAGE后台模拟按键源代码是一种编程技术,主要用于在 Delphi 开发环境中实现程序间的通信和控制。这一技术的核心在于使用 Windows API 中的 `PostMessage` 函数,该函数允许一个进程向另一个进程发送...

    PostMessage 后台模拟按键 MOUSE VC原码

    `PostMessage`函数就是...通过分析这两个文件,你可以更深入地理解如何在VC++中使用`PostMessage`进行后台模拟按键和鼠标操作。学习这段代码有助于提升你在Windows API和C++编程上的技能,特别是与人机交互相关的部分。

    易语言后台按键模拟

    在“易语言后台按键模拟”这个主题中,我们将深入探讨如何使用易语言来实现后台按键模拟的功能,这对于自动化测试、游戏挂机、辅助软件开发等场景非常有用。 首先,我们需要理解“后台按键模拟”的概念。在计算机...

    VB对指定窗口进行后台模拟键盘鼠标信息的操作

    下面我们将深入探讨`PostMessage`的使用以及如何在VB中实现后台模拟键盘鼠标操作。 `PostMessage`函数的基本语法是: ```vb Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long...

    后台模拟发送GET和POST请求

    本文将深入探讨如何利用Java的HttpClient库在后台模拟发送GET和POST请求,以及如何处理中文乱码问题。 首先,我们来理解GET和POST两种请求方法。GET请求通常用于获取服务器上的资源,它将参数附加到URL中,具有可...

    后台模拟键盘输入postmessage.rar

    本资源“后台模拟键盘输入postmessage.rar”显然关注的是如何在VB(Visual Basic)环境中实现这一功能。下面将详细阐述这个主题,以及相关的知识点。 首先,VB是一种面向对象的编程语言,由微软开发,广泛应用于...

    java后台实现 get post 提交.zip

    本资料"java后台实现 get post 提交.zip"可能包含了实现这些功能的代码示例和详细解释。 1. GET请求: GET请求主要用于从服务器获取资源,它将参数附加到URL后面。在Java中,我们通常使用`java.net.URL`和`java.net...

    asp.net后台模拟其他网站带验证码登陆

    ### ASP.NET 后台模拟其他网站带验证码登录技术解析 #### 概述 在某些应用场景下,例如数据抓取、接口调用等,可能需要在ASP.NET应用中模拟登录到其他网站的操作。当目标网站带有验证码时,这一过程将变得更加复杂...

    Java 模拟Ajax POST GET 提交代码

    Java 模拟Ajax POST GET 提交代码,实测很好用。

    api.rar_definitionwir_后台curl模拟post 调接口

    本主题主要关注如何在后台使用curl命令来模拟POST请求,以便调用API接口。curl是一个强大的命令行工具,常用于在终端中传输数据到服务器或者从服务器获取数据。 首先,我们需要理解什么是`definitionwir`,这可能是...

    C#_post_multipartform示例.zip

    在C#的ASP.NET环境中,开发者经常会遇到这样的需求,即在后台模拟POST请求来发送文件。下面将详细解释`multipart/form-data`的工作原理以及如何在C#中实现这个功能。 `multipart/form-data`是HTML表单提交的一种...

    C# post模拟提交接收图片存到服务器上

    在C#编程中,模拟POST提交通常用于模拟用户在网页上的表单提交行为,例如上传文件,特别是图片。这个过程涉及到HTTP协议的理解、文件流处理以及服务器端的存储逻辑。以下将详细介绍如何实现这个功能。 首先,理解...

    C#实现的三种模拟自动登录和提交POST信息的方法

    在C#编程中,模拟自动登录和提交POST信息是常见的任务,主要用于自动化测试、数据抓取或集成系统间的数据交互。以下将详细讲解通过WebBrowser、WebClient和HttpWebRequest这三种方式来实现这一功能。 1. **...

    模拟后台服务

    2. **HTTP后台模拟服务**:服务基于HTTP协议,可以模拟各种HTTP请求(如GET、POST、PUT等)的响应,包括状态码、头部信息和响应体。 3. **通过txt文件配置**:响应数据不是硬编码在代码中,而是可以外部化到文本文件...

    C# 模拟Post请求

    总的来说,C#中的`HttpClient`类使得模拟POST请求变得简单易行,它提供了强大的功能来与服务器进行通信,这对于自动化任务、API测试或任何需要后台数据交换的场景都非常有用。通过熟练掌握这一技术,开发者可以更...

    post模拟提交获取提交后的HTML代码

    3. `Post_GetHtml.aspx.cs`: 这是ASP.NET的后台代码文件,与`Post_GetHtml.aspx`相匹配,通常包含处理HTTP请求的事件处理程序,如Page_Load或Button_Click。这些事件处理程序接收POST数据,执行相应的业务逻辑,然后...

    VB模拟按键终极教程

    VB 模拟按键终极教程 VB 模拟按键终极教程是指使用 Visual Basic 语言来模拟键盘操作的过程。在本教程中,我们将了解 Windows 中响应键盘事件...通过使用 PostMessage 函数和键盘消息类型,我们可以模拟多种键盘操作。

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    `HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的...

    Post模拟工具(中文PostMAN)

    一个支持团队协作,并可直接生成文档的API调试、管理工具 支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。

    VB模拟按键终极教程及示例代码

    模拟键盘消息应使用`PostMessage`,因为通常不需要等待目标程序的响应。 `PostMessage`函数的VB声明如下: ```vb Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal ...

Global site tag (gtag.js) - Google Analytics