HttpClient发送URL

远程桌面报‘数据加密错误‘?可能是网卡设置惹的祸(附TCP校验关闭教程) 本文深入分析远程桌面连接中出现的'数据加密错误'问题,指出网卡设置可能是根本原因,并提供详细的TCP校验关闭教程。通过禁用网卡高级属性中的'TCP校验和IPv4'与'IPv4承载卸载'功能,可有效解决RDP协议与硬件加速的兼容性问题,适用于Windows和Linux系统。 阅读详情

package com.leiwang.HttpClient;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.GZIPInputStream;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;


public class httpClient {
    private static Map<Thread, HttpClient> clients = new HashMap<Thread, HttpClient>();

    public static void clean() {
        clients.clear();
    }
   
    public static String postPage(String url, String enc, Map<String, String> params) throws Exception {
        System.out.println(url);
        PostMethod method = new PostMethod(url);
        method.getParams().setContentCharset(enc);
        setHeaders(method);
        NameValuePair[] pairs = new NameValuePair[params.size()];
        int i = 0;
        for (Map.Entry<String, String> entry : params.entrySet()) {
            pairs[i++] = new NameValuePair(entry.getKey(), entry.getValue());
        }
        method.setRequestBody(pairs);
        return tryResponse(method, enc);
    }
   


    public static String getPage(String url, String enc) throws Exception {
        //System.out.println("sss" + url);
        GetMethod method;
        int idx = url.indexOf('?');
        if(idx==-1) {
            method = new GetMethod(url);
        } else {
            method = new GetMethod(url.substring(0, idx));
            method.setQueryString(url.substring(idx + 1));
        }
        setHeaders(method);
        return tryResponse(method, enc);
    }

    private static String tryResponse(final HttpMethod method, final String enc) throws Exception {
        HttpClient hc = clients.get(Thread.currentThread());
        if(hc==null) {
            clients.put(Thread.currentThread(), hc = new HttpClient());
            hc.getHttpConnectionManager().getParams().setSoTimeout(30000);
            hc.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
            hc.getParams().setSoTimeout(30000);
            hc.getParams().setConnectionManagerTimeout(30000);
        }
        final String[] s = new String[1];
        final HttpClient fhc = hc;
        final Exception[] fe = new Exception[1];
        Thread thread = new Thread() {
            public void run() {
                while(true) {
                    try {
                        fhc.executeMethod(method);
                        if(method.getStatusCode()==500) throw new Exception("status code: 500");
                        String ss = getResponse(method, enc);
//                        System.out.println(method.getStatusText());
                        if(ss.length()==0) throw new Exception("zero length response text");
                        method.releaseConnection();
                        s[0] =  ss;
                        synchronized (fhc) {
                            fhc.notify();
                        }
                        return;
                    } catch (Exception e) {
                        fe[0] = e;
                        try {
                            Thread.sleep(60*1000);
                        } catch (InterruptedException e1) {
                            e1.printStackTrace();
                        }
                    } finally {
                        method.releaseConnection();
                    }
                }
            }
        };
        thread.start();
        synchronized (fhc) {
            fhc.wait(1200000);
        }
        thread.interrupt();
        thread.stop();
        if(s[0]==null) throw new Exception("fail at last: " + method.getURI(), fe[0]);
        return s[0];
    }

    private static void setHeaders(HttpMethod method) {
        method.getParams().setCookiePolicy(CookiePolicy.RFC_2965);
        method.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
        method.setRequestHeader("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
        method.setRequestHeader("Accept-Language", "zh-cn,zh;q=0.5");
        method.setRequestHeader("Accept-Encoding", "gzip,deflate");
        method.setRequestHeader("Accept-Charset", "gb2312,utf-8;q=0.7,*;q=0.7");
        method.setRequestHeader("Keep-Alive", "300");
        method.setRequestHeader("Connection", "Keep-Alive");
    }

    private static String getResponse(HttpMethod method, String enc) throws IOException {
        Header renc = method.getResponseHeader("Content-Encoding");
        InputStream is;
        if(renc!=null && renc.getValue().equals("gzip")) {
            is = new GZIPInputStream(method.getResponseBodyAsStream());
        } else {
            is = method.getResponseBodyAsStream();
        }
        Reader reader = new InputStreamReader(is, enc);
        char[] buf = new char[1024];
        StringBuilder sb = new StringBuilder();
        int rd;
        while ((rd = reader.read(buf)) != -1) {
            sb.append(buf, 0, rd);
        }
        return sb.toString();
    }
   
    public static void main(String[] args){
     
     try {
      String str = "";
      for(int i=0;i<10;i++){
       getPage("http://localhost:8080/wleing/myhttpclient.jsp","GBk");
       System.out.println(".................." + str);
      }
   //System.out.println(".................." + str);
  } catch (Exception e) {
   e.printStackTrace();
  }
     
    }
}

PLC模糊控制模糊PID(梯形图实现+算法分析) 博途PLC的模糊PID控制详细内容请查看下面的博客文章:Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_RXXW_Dor的博客-优快云博客模糊PID的其它相关数学基础,理论知识大家可以参看专栏的其它文章,这里不再赘述,本文就双容水箱的模糊PID问题做详细讲解(包括所有源代码和模糊规则设置参数)。 阅读详情

相关推荐

CPU系统级验证——测试激励——imperas公司riscvOVPsimPlus文件分析

本分析重点关注该repo向量扩展部分。 1. repo简介 该repo是指令集验证的仿真环境包括,大部分是指令集的测试用例,也包含了一些模拟器,如riscvOVPsimPlus。 主要介绍的是riscvOVPsimPlus指令集模拟器,riscvOVPsimPlus(下面统称ISS)是imperas公司在riscvOVPsim基础上扩充了向量扩展的指令集模拟器,该repo于今年9月份部分开源 什么叫部分开源呢? 首先该repo必须在imperas官网注册下载,而且必须是企业用户(免费邮箱人家瞧不上.

知识,既贵,又便宜。 4460

HttpClient发送Url解析Json字符串

今天需要数据对接入库,调用接口获取数据并做定时任务落入到自己的数据库中,接口中包含token,分页参数等。 导入依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.5</vers

debugmyworld 574

DC综合中set_dft_signal的实战配置与优化策略

本文深入解析了DC综合中set_dft_signal命令的实战配置与优化策略。文章从命令的核心作用出发,详细拆解了-view、-type、-usage等关键参数,并通过扫描使能与时钟门控的实战案例,展示了如何正确配置以实现测试模式下的功耗优化。同时,文章总结了高级优化策略、与低功耗流程的协同方法以及常见错误排查清单,旨在帮助数字芯片设计工程师构建高可测性、低功耗的稳健DFT基础。

weixin_28347369的博客 403

java connection用法_Java中HttpURLConnection使用详解、总结。

一、前言实习第二个月了,遇到了一个问题,需求使用Java 的 HttpURLConnection 来转发请求。需求也给了示例,但是流程不明白,所以再网上查找了很长时间之后,特来总结一番。3.3中,是关于这次的问题总结,建议大家看一下。二、HttpURLConnection 介绍JDK的java.net包中提供了访问HTTP协议的基本功能的类:HttpURLConnection。URLConnect...

weixin_32109109的博客 6312

S/4中的16种特殊库存类型

S/4中的16种特殊库存类型

yanzibing99的博客 1万+

测试人必看!正交表与Allpairs工具对比:如何选择最适合你的组合测试方案?

本文深入对比了正交表、PICT与Allpairs三种主流组合测试方案,帮助测试人员根据项目场景做出最佳选择。文章分析了各自的核心原理、优劣势及适用场景,特别强调了在涉及复杂约束时PICT工具的强大功能,并提供了从原理学习到CI/CD集成的实战选型指南。

weixin_29224309的博客 267

java用HttpClient发送文件和数据

详情 由于业务需求,需要向其他项目的接口发送文件和数据,特此把代码分享一下。 发送端 //url:需要向指定接口发送的url, dataFile:需要传输的文件, currentTime,filecode,sign:分别是接收端需要的数据,这些可以根据自己 //的具体业务来发送相应的数据 private void post(String url, File dataFile, String currentTime, String filecode, String sign) throws Excepti

weixin_45607513的博客 2147

避开这些坑!智鼎MAP性格测试高分指南(附互联网/国企/外企答题模板)

本文深入解析智鼎MAP职业性格测试的核心逻辑与常见陷阱,提供针对互联网、国企、外企三大行业的差异化答题策略与实战模板。帮助求职者理解测试本质,避开追求完美人设、忽视程度副词等心理陷阱,塑造与目标岗位高度匹配的职业画像,从而在招聘关键环节脱颖而出。

rainy的博客 994

Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)...

​【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 【系列】Android系列之网络:(持续更新) Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获...

weixin_30699463的博客 276

SAP 物料账前期没有运行的解决方法

If you use the actual costing (material ledger), you must have completely closed all period-end closing operations in the actual costing for the penultimate period prior to the period shift. Use the '...

含笑饮砒霜死后更嚣张 3316

具身智能数据采集的工程化指南:从时间同步到质量校验

具身智能的模型训练离不开高质量的多模态轨迹数据,而数据采集并非简单的传感器记录。真实场景中,相机图像、机械臂关节状态与力觉信息必须在时间轴上精确对齐,标定的漂移和格式混乱会让看似正常的数据无法用于训练。时间同步与标定一致性,是决定数据质量的核心技术环节。在机器人抓取、操作等工程应用中,一套包含多传感器同步、轻量记录脚本、自动化质量校验与版本管理的数据采集流程,能大幅降低数据生产的失败率。本文从工程视角拆解具身数据采集中的典型问题,并给出可落地的流程设计与校验方法,帮助团队构建可持续迭代的高质量数据集。

weixin_30603633的博客 511

HttpClient发送Json数据到指定接口

项目中遇到将Json数据发送到指定接口,于是结合网上利用HttpClient进行发送. /** * post发送json数据 * @param url * @param param * @return */ private String doPost(String url, JSONObject param) { ...

weixin_33768481的博客 446

2025美赛C题奥运奖牌榜模型(附代码+全保姆教程)Models for Olympic Medal Tables

伟大教练”效应的测量方法定义奖牌变化率:−−​如果变化率显著为正,且超出历史平均增长率,则认为存在“伟大教练”效应。使用统计方法(如t检验)验证教练到来是否带来显著性差异。

博客 6371

如何使用HttpClient模拟客户端发送URL请求

使用HttpClient发送post和get请求1、请求参数是map格式 1、请求参数是map格式

Atidote的博客 533

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HttpClient发送url请求

1.引入httpclient4.0.1.jar; 2.代码如下: /**  * 文件名:HttpRequestUtil.java  *  * 版本信息:  * 日期:2013-1-14  * Copyright 足下 Corporation 2013   * 版权所有  *  */ package com.supermap.earth.rims.util; impo

majian_1987的专栏 1778

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

后台通过URL发送数据模式HttpClient 和 SendRedirect

String url = gateway + "?" + encodedParamString + "&sign=" + URLEncoder.encode(sign, "UTF-8"); resp.sendRedirect(url); //////////////////////////////////////////////////////////////////////////////

CoCo__Luo的专栏 1182

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

HttpClient4.X发送Get请求的url参数拼接

文章目录1. 使用 URIBuilder来构建请求URI2. 使用 NameValuePair 来拼接URI3. 根据 HttpGet反向获取键值对列表 使用httpClient发送get请求时,请求参数可以以?key=val&amp;key1=val1的拼接到url后面。 但是请求参数较多时,这种方法比较麻烦,也不太优雅;研究了一下发现HttpClient4.X本身 是支持处理参数的。 1....

萧曳丶 2886

Apache httpclient 获取url上的数据并向url发送参数

获取url上的数据 一、添加Maven依赖 1、http依赖 org.apache.httpcomponents httpclient 4.5 2、commons依赖 org.apache.commons commons-io 1.3.2 3、json依赖 com.alibaba fastjso

weixin_39515017的博客 2166

java发送http请求(URL、HttpClient)

1、导入依赖的jar包 commons-httpclient-3.0.jar commons-logging-1.2.jar commons-pool.jar ...... 2、HttpUtils.java: package com.mx.util; import java.io.BufferedReader; import java.io.DataOutputS

User_xiangpeng的专栏 7377

使用URL和httpclient方式访问webservice服务(发送SOAP请求)

使用URL和httpclient方式访问webservice服务(发送SOAP请求)

Hsssc的博客 1386

Java程序使用httpClient发送Url链接,并获取返回的数据信息

一、准备工作 准备好httpClient的相关jar包和json的jar包,在这里我们在接收返回的数据时json类型的数据。 二、Java编码 HttpClient httpClient=new HttpClient();       //实例化 List params =new ArrayList();         //这里主要是为了后面url中拼接参数 params.add(

qq_25363893的博客 1919

java用org.apache.http.client.HttpClient发送get请求(参数和url分开、一整个url)

//发送get请求,参数和url分开 public static Map<String, Object> sendGet_params(String url, String[] name, String[] value, String[] herderName, String[] headerValue) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); //添加.

qq_40308101的博客 5602

java get请求参数拼接_HttpClient4.X发送Get请求的url参数拼接

HttpClient4.X发送Get请求的参数拼接使用httpClient发送get请求时,请求参数可以以?key=val&key1=val1的拼接到url后面。但是请求参数较多时,这种方法比较麻烦,也不太优雅;研究了一下发现HttpClient4.X本身是支持处理参数的。1. 使用 URIBuilder来构建请求URIhttpclient相关的jar包mvn依赖:org.apache.h...

weixin_33479446的博客 1793

通过HttpClient测试Get请求,无请求实体,仅仅是通过URL发送请求

web.xml文件: [code="xml"] org.springframework.web.context.ContextLoaderListener CharacterEncoding org.springframework.web.filter.CharacterEncodingFilter encod...

iteye_14360的博客 265

使用httpclient发送get方法访问url并获取json字符串

为什么80%的码农都做不了架构师?>>> ...

weixin_33950035的博客 902

HTTPClient发送请求的几种实现

1,可以使用最基本的流对象 URL对象直接将请求封装 然后发送     /** * * HTTP + POST 发送将对象发送出去 */ // String url="http://127.0.0.1:8088/ToolStore/up_registerPhonePay.action?username='liuyang'&amp;age=18"; // /*...

java开发的小鸟 221
下一篇: android 导入jar包时出问题
兽神也是人
博客等级 码龄21年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值