截获POST或GET请求提交的所有参数

这里截获POST或GET请求提交的所有请求参数,并组成查询串返回
  /**
   *
   * 该方法用于将request中参数取出组成查询串后返回
   *
   * 
@param request
   *            HttpServletRequest
   * 
@return String 返回key1=value1&key2=value形式的查询串
   
*/

  
public   static  String getQueryString(HttpServletRequest request) {
 
try{
    
boolean first = true;
    StringBuffer strbuf 
= new StringBuffer("");
    Enumeration emParams 
= request.getParameterNames();

    
do {
      
if (!emParams.hasMoreElements()) {
        
break;
      }

      String sParam 
= (String) emParams.nextElement();
      String[] sValues 
= request.getParameterValues(sParam);
      String sValue 
= "";
      
for (int i = 0; i < sValues.length; i++{
        sValue 
= sValues[i];
        
if (sValue != null && sValue.trim().length() != 0
            
&& first == true{
          first 
= false;
          strbuf.append(sParam).append(
"=").append(
              URLEncoder.encode(sValue, GBK_ENCODE));
        }

        
else if (sValue != null && sValue.trim().length() != 0
                 
&& first == false{
          strbuf.append(
"&").append(sParam).append("=").append(
              URLEncoder.encode(sValue, 
"GBK"));
        }

      }

    }

    
while (true);

    
return strbuf.toString();
}
catch(UnsupportedEncodingException e){
   
throw RuntimeException(e);
}

  }
 
你可以使用 Selenium 和 ChromeDriver 来截取和分析 HTTP POST 请求。下面是一个示例代码,演示如何使用 Python 和 ChromeDriver 来截取 POST 请求: ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 设置 ChromeDriver 的路径 chromedriver_path = 'path/to/chromedriver' # 创建 ChromeDriver 实例 driver = webdriver.Chrome(chromedriver_path) # 打开网页 driver.get('https://example.com') # 找到表单元素并填充数据 input_element = driver.find_element(By.ID, 'input_id') input_element.send_keys('your_data') # 执行表单提交操作 form_element = driver.find_element(By.ID, 'form_id') form_element.submit() # 等待 POST 请求完成 wait = WebDriverWait(driver, 10) wait.until(EC.url_changes(driver.current_url)) # 获取请求信息 request_data = driver.execute_script('return window.performance.getEntriesByType("resource")') # 打印请求信息 for request in request_data: if request['initiatorType'] == 'xmlhttprequest': print(request['name'], request['request']['method'], request['request']['postData']) # 关闭浏览器 driver.quit() ``` 在这个示例中,我们使用 Selenium 的 `webdriver` 模块来控制 ChromeDriver 运行。我们打开了一个网页,并填充了表单数据,然后执行了表单提交操作。然后,我们使用 `window.performance.getEntriesByType("resource")` 来获取所有的网络请求信息,并打印出 POST 请求的相关信息。 请记得将 `path/to/chromedriver` 替换为你的 ChromeDriver 的实际路径。此外,你还需要安装 Selenium 库,可以通过 `pip install selenium` 命令进行安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值