`

HttpClient通过HttpPost传递参数,Connection reset by peer: socket write error

    博客分类:
  • JAVA
阅读更多

原文链接:HttpClient通过HttpPost传递参数

 

发起客户端请求,直接请求路径url后带大量参数报错:Connection reset by peer: socket write error

解决方法:把参数放到请求体中。

 

HttpClient新版本(新老版本没有做明确界定,Sorry!) 

Java代码  收藏代码
  1. package http;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import org.apache.http.NameValuePair;  
  7. import org.apache.http.client.HttpClient;  
  8. import org.apache.http.client.entity.UrlEncodedFormEntity;  
  9. import org.apache.http.client.methods.HttpPost;  
  10. import org.apache.http.impl.client.DefaultHttpClient;  
  11. import org.apache.http.message.BasicNameValuePair;  
  12.   
  13. public class HttpTests {  
  14.   
  15.     /** 
  16.      * @param args 
  17.      * @throws Exception 
  18.      */  
  19.     public static void main(String[] args) throws Exception {  
  20.         HttpClient httpclient = new DefaultHttpClient();  
  21.         HttpPost httpPost = new HttpPost("******/abc");  
  22.         List<NameValuePair> nvps = new ArrayList<NameValuePair>();  
  23.         nvps.add(new BasicNameValuePair("username", "vip"));  
  24.         nvps.add(new BasicNameValuePair("password", "secret"));  
  25.         httpPost.setEntity(new UrlEncodedFormEntity(nvps));  
  26.         httpclient.execute(httpPost);  
  27.         httpclient.getConnectionManager().shutdown();  
  28.     }  
  29.   
  30. }  


HttpClient 老版本: 

Java代码  收藏代码
  1. package http;  
  2.   
  3. import org.apache.commons.httpclient.HttpClient;  
  4. import org.apache.commons.httpclient.NameValuePair;  
  5. import org.apache.commons.httpclient.methods.PostMethod;  
  6.   
  7. public class HttpTests {  
  8.   
  9.     /** 
  10.      * @param args 
  11.      * @throws Exception 
  12.      */  
  13.     public static void main(String[] args) throws Exception {  
  14.         HttpClient httpclient = new HttpClient();  
  15.         PostMethod httpPost =new PostMethod("******/abc");  
  16.         NameValuePair[] param = { new NameValuePair("username", "vip")};  
  17.         httpPost.setRequestBody(param);   
  18.         httpclient.executeMethod(httpPost);  
  19.     }  
  20.   
  21. }  
分享到:
评论

相关推荐

    java.net.SocketException Connection reset 解决方法

    * Connection reset by peer:Connection reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器端之间的连接断开后,导致连接的一端继续发送数据,引发该异常。 实践经验 通过实践经验,我们可以...

    httpclient使用post方法上传多个图片个其他参数的demo源码

    在本示例中,我们将关注“httpclient使用post方法上传多个图片和其他参数的demo源码”,这是一个涉及到文件上传和参数传递的重要场景。 在Web开发中,POST方法常用于向服务器提交数据,比如表单数据或文件。...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    HTTP GET/POST传递参数

    介绍如何通过HttpClient模块来创建Http连接,并分别以Http GET与Http POST方法来传递参数,连接之后取回Web Server的返回网页结果。重点是如何使用HttpClient的模块来完成Http的请求与应答。 分享参考自Android SDK...

    HttpClient模拟get,post请求并发送请求参数(json等)

    它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...

    httpClient httpPost httpGet 所需jar包

    5. 配置和使用:在Java项目中,我们首先需要将这些jar包添加到类路径中,然后可以通过创建HttpClient实例,创建HttpPost或HttpGet对象,设置请求参数,最后通过HttpClient执行请求并处理响应。 6. 示例代码: ```...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    HttpClient库中的类和方法通常不需要使用注解,因为它的配置主要通过对象构造和方法调用来完成。然而,如果你在使用日志框架(如Log4j),可能需要在项目中添加相应的日志配置,如`@Log4j`,以便在代码中记录...

    httpclient 客户端发送xml报文到服务器端采用post方式(加密)传递

    本示例探讨的是如何使用HTTPClient库在客户端发送XML报文到服务器端,且报文通过POST方法传递,并可能涉及加密处理,确保数据的安全性。 首先,HTTPClient是Apache提供的一款强大的Java HTTP客户端API,它允许...

    httpclient发送post请求

    在Java开发中,HTTPClient库是一个非常常用的工具,用于执行HTTP请求,包括POST请求。本篇文章将深入探讨如何使用HTTPClient发送POST请求,以及相关的项目结构和实现细节。 首先,"post-demo"项目定义了我们需要...

    httpclient get/post请求工具类(map参数封装)

    httpclient get/post请求工具类(map参数封装),方便调用

    SpringBoot使用httpclient发送Post请求时

    public static String post(String url, String params){ log.info("post url:" + url + " params:" + params); String responseStr = ""; try(CloseableHttpClient httpClient = HttpClients.createDefault()) {...

    HttpClient完整实例(普通参数、JSON格式参数)

    这个实例主要涉及了如何使用HttpClient发送POST请求,同时处理普通参数和JSON格式参数,以及解析响应内容。下面我们将深入探讨这些知识点。 一、HttpClient基础 HttpClient库提供了一套完整的API,允许开发者构建...

    HttpClient发送json、普通参数类型的Post请求(csdn)————程序.pdf

    本文主要讨论如何使用HttpClient发送JSON格式和普通参数类型的POST请求。首先,我们来看一下所需的Maven依赖。 ```xml &lt;groupId&gt;commons-httpclient &lt;artifactId&gt;commons-httpclient &lt;version&gt;3.1 &lt;groupId&gt;...

    httpclient.post例子

    通过`java_httpclient_post`这个文件名,我们可以推测其中可能包含了完整的示例代码或者相关教程,你可以参考这个文件来实践和学习HttpClient的POST请求使用。记住,实践是检验理论的最好方式,尝试运行这个例子,看...

    HttpClient实现POST GET和文件下载

    HttpClient是Apache基金会开发的一个HTTP客户端库,广泛应用于Java编程中,用于执行HTTP请求,包括GET、POST以及文件下载等操作。本篇文章将深入探讨如何利用HttpClient实现这些功能,并提供实战代码示例。 首先,...

    HttpClient发送post请求传输json数据

    在这个场景中,我们关注的是如何使用HttpClient来发送POST请求并传输JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于API接口的数据传递。 首先,我们需要引入Apache HttpClient...

    MFC的HttpClient的Get和Post方法

    你可以通过阅读和分析这两个文件,了解在实际项目中如何具体实现MFC的HttpClient GET和POST请求。 总结来说,MFC的HttpClient使得开发者能够方便地与HTTP服务器交互,执行GET和POST请求。通过理解HTTP协议的基本...

    httpclient和httpcore的jar包

    1. **发起HTTP请求**:你可以通过HttpClient创建HttpGet、HttpPost等对象,设置URL、请求头和请求体,然后通过execute()方法发送请求。 2. **处理响应**:HttpClient返回的HttpResponse对象包含了服务器的响应状态码...

    httpclient post方式发送请求

    在Java编程中,HTTPClient库是一个非常常用的工具,用于发送HTTP请求,包括POST方式的请求。本篇文章将详细讲解如何使用HTTPClient库以POST方式发送JSON格式的数据,并介绍相关依赖包。 首先,为了使用HTTPClient库...

    socket httpclient

    本文将深入探讨基于Socket实现的HttpClient,以及它如何处理GET和POST协议。 首先,Socket是TCP/IP协议族中的一个概念,它提供了一种进程间通信(IPC)机制,允许两台计算机上的应用程序通过网络进行数据交换。在C...

Global site tag (gtag.js) - Google Analytics