引用包

<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
<dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version>
</dependency>
package com.gfjh.core;import java.net.InetAddress;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethodBase;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.HeadMethod;
import org.apache.commons.httpclient.methods.OptionsMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.httpclient.methods.TraceMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.lang3.StringUtils;public class c {public static void main(String[] args) {// TODO Auto-generated method stubString type = "Get";String url = "http://www.baidu.com";Map<String, Object> map = new HashMap<String, Object>();double begin = System.currentTimeMillis();HttpMethodBase method = null;try {// 匹配请求if ("Post".equals(type)) {method = new PostMethod(url);} else if ("Get".equals(type)) {method = new GetMethod(url);} else if ("Delete".equals(type)) {method = new DeleteMethod(url);} else if ("Put".equals(type)) {method = new PutMethod(url);} else if ("Trace".equals(type)) {method = new TraceMethod(url);} else if ("Head".equals(type)) {method = new HeadMethod(url);} else if ("Options".equals(type)) {method = new OptionsMethod(url);}HttpClient client = new HttpClient();client.setConnectionTimeout(30000);client.setTimeout(30000);client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);method.setRequestHeader("Connection", "close");method.setRequestHeader("Referer", "https://www.sojson.com");method.setRequestHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0");// 设置参数String[] keys = null, values = null;NameValuePair[] params = new NameValuePair[keys.length];for (int i = 0; i < keys.length; i++) {params[i] = new NameValuePair(keys[i], values[i]);}method.setQueryString(params);// 设置请求头 和上面方法一致,如果一样,那么就覆盖。String[] headKeys = null, headValues = null;if (headKeys.length > 0) {for (int i = 0; i < headKeys.length; i++) {method.setRequestHeader(headKeys[i], headValues[i]);}}int status = client.executeMethod(method);map.put("status", status);Header[] heads = method.getResponseHeaders();// 获取请求的Host,用于IP解析String host = method.getHostConfiguration().getHost();StringBuffer sb = new StringBuffer("");for (Header header : heads) {sb.append(header.getName()).append(" : ").append(header.getValue()).append("\r\n");}// 头信息map.put("head", sb.toString());String result = method.getResponseBodyAsString();map.put("result", result);String ip = "未知";try {InetAddress iAddress = InetAddress.getByName(host);ip = iAddress.getHostAddress();map.put("host", ip);} catch (Exception e) {System.out.println("获取IP地址失败,域名:" + host);}} catch (UnknownHostException e) {// 域名错误map.put("message", "请输入正确的网址");System.out.println("网址异常[%s]" + url);} catch (SocketTimeoutException e) {// 超时map.put("message", "请求地址超时");System.out.println("请求地址超时[%s]" + url);} catch (Exception e) {// 其他异常map.put("message", "请求出现未知异常,请重试!");System.out.println("请求出现未知异常,请重试!" + url);}double end = System.currentTimeMillis();map.put("time", (end - begin) / 1000);}}

HTTP接口测试代码,HTTP GET/POST模拟请求测试工具相关推荐

  1. java api 测试工具_Java 实现在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具

    本站工具,在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具后台所有实现代码.支持的请求协议有:Post.GetDelete.Put.Trace.Head.Options.特色是加了 ...

  2. 在线post测试java接口测试_好用的在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具-ApiPost...

    现在的模拟发送请求插件很多比如老外的postman等,但亲测咱们国内的 ApiPost 更好用一些,因为它不仅可以模拟发送get.post.delete.put请求,还可以导出文档,支持团队协作也是它 ...

  3. 接口测试及接口抓包常用的测试工具有哪些?

    目录 接口 接口测试的重要性 常用抓包工具 01.F12 02.Fiddler抓包工具 03.Charles抓包工具 04.Firebug抓包工具 05.httpwatch抓包工具 06.Wiresh ...

  4. [AX2012] 用户权限模拟与测试工具

    在AX2012系统中,如果给用户配置了权限,需要进行测试.在没有用户密码的情况下,如何测试用户的权限配置的是否正确呢?这个时候,如果有个工具能模拟一下用户登陆后的界面就好了,这个时候,你就需要用到Se ...

  5. Postman-APP登入模拟请求-数据加解密

    Postman-APP登入模拟请求-数据加解密 简单说明一下 对于Postman的使用,一般情况下只要发发确定的请求与参数就可以的了.这个大家都会的 ,灰常的简单. 然而,在使用的时候,尤其是接口测试 ...

  6. java如何模拟请求_单元测试如何模拟用户请求

    python web自动化测试设计构工具书 40.9元 包邮 (需用券) 去购买 > 错误 正当我高高兴兴写完后台c层的测试代码准备提交时,测试机器人报了很多401错误,把代码拉下来一看,原来当 ...

  7. Charles 抓包工具教程(七) Charles- compose 创建模拟请求

    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ Charles- compose 创建模拟请求 一.背景 二.Compose 一. ...

  8. Python3 微信公众平台模拟登陆 requests模拟请求

    声明此代码仅供技术交流学习,擅自用于其他,一切后果与本人无关 目标网址: https://mp.weixin.qq.com/ 所谓模拟登陆,就是自己模拟构造请求发送给服务器,然后服务器返回认证的信息过 ...

  9. CURL模拟请求(get/post)

    [先知] http协议是客户端和服务端数据交互而定的规范. 具有如下特点:1.一般是基于B/S结构访问.2.无状态服务端没有记忆功能,不能识别客户端.3.无连接主要是在说http 1.0,它是短连接, ...

最新文章

  1. 数据格式、类型系统与展示
  2. K12教育整体业务流程+涉及各类产品分析
  3. 我的C3P0的一些配置心得
  4. leetcode35. 搜索插入位置(二分搜索)
  5. jdbc工具类 配置版本 20210412_222527.mp4
  6. Android 浮窗开发之窗口层级
  7. python的递归为什么难理解,python - Python - 很难理解这个递归代码示例 - SO中文参考 - www.soinside.com...
  8. sqlite字符串连接(追加写入)
  9. python selenium安装教程_Python Selenium模块安装使用教程详解
  10. AngularJS 之 ng-model
  11. 委托的Invoke与BeginInvoke
  12. PCIE协议解析 synopsys IP loopback 读书笔记(1)
  13. unity算法面试_Unity面试准备
  14. 微信聊天记录导出(2020新版)
  15. 马哥linux高端班视频,马哥Linux高端运维云计算就业班
  16. vscode终端清屏
  17. 拉钩网爬取所有python职位信息
  18. 搬家公司会帮忙打包东西吗?一条龙服务
  19. hc sr501 c语言程序,HC-SR501人体红外感应模块资料汇总(原理图、常见问题、程序等)...
  20. WiFi共享精灵,生活好伴侣

热门文章

  1. AI科普(一):什么是人工智能?
  2. 干货:esp32彩屏自制太空人主题透明手表!
  3. android 动画无缝滚动,CSS3动画之无缝滚动
  4. 【Windows】解决家庭版系统无法开启远程桌面连接的问题
  5. 【亚马逊运营技巧】如何查找高价值关键词?
  6. ElasticSearch 2.4.X实现中文拼音排序
  7. 使用Html.fromHtml()怎么加载Html中的图片
  8. 把html页面保存为图片格式
  9. 2.3 构建C语言入职教程
  10. 文本相似度 Text Similarity