`

PHP JAVA关于post请求数据接收的处理

 
阅读更多

PHP接收post请求数据主要采用两种方式:

     1、$_POST[index]方式

     2、$data = file_get_contents("php://input");

 

     Content-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,PHP才会将http请求数据包中相应的数据填入全局变量$_POST。因此,如果使用$_POST来获取post过来的数据时,需要注意Content-Type类型,如果不是application/x-www-data-urlencoded和multipart/form-data,则采用file_get_contents("php://input");进行获取。

 

     php://input 可以读取http entity body中指定长度的值,由Content-Length指定长度,不管是POST方式或者GET方法提交过来的数据。但是,一般GET方法提交数据 时,http request entity body部分都为空。

 

    例如在传递json串的时候,通过file_get_contents("php://input");获取原始串,然后通过json_decode()进行解析。

 

Java的servlet中接收Post请求数据主要采用两种方式:

    1、request.getParameter()

    2、request.getInputStream();

 

    Content-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,request.getParameter()才能获取到值,否则返回空。

    Content-Type为其他类型时,可以采用如下方式进行获取:

 

String json = org.apache.commons.io.IOUtils.toString(request.getInputStream());
System.out.println(json);

 之后对取到的值(字符串)进行处理。

 

 

因此,通过HttpClient4.5.2的fluent api发送post请求时,接收方对应的处理方式如下:

 

---------------------方式一:
发送方:
Request.Post(url).bodyForm(Form.form().add("loginName", "vip").add("password", "secret").build()).execute().handleResponse(myRespHandler);
接受方:
java:request.getParameter() 或 request.getInputStream()
php:$_POST  或  file_get_contents('php://input');
---------------------方式二:
发送方:
Request.Post(url).bodyString(req, ContentType.APPLICATION_JSON).execute().handleResponse(myRespHandler);
接收方:
java:request.getInputStream()
      String json = org.apache.commons.io.IOUtils.toString(request.getInputStream());
php:  file_get_contents("php://input");

 

 

 

 

 

分享到:
评论

相关推荐

    使用java请求json接口数据

    3. **发送请求**:如果是POST请求,需要写入请求体(JSON数据)。对于GET请求,参数通常在URL中。 4. **读取响应**:一旦请求被发送,就可以从连接中获取响应。这通常涉及到设置输入流并读取服务器返回的数据。 5....

    jdom解析xml java发送post请求

    在PHP端,你可以使用`file_get_contents('php://input')`来获取原始POST数据,然后用PHP的DOM解析器解析XML,或者使用简单的字符串操作来处理数据。 总结起来,使用JDOM解析XML文件可以帮助你更便捷地操作XML文档,...

    javahttp使用post进行提交数据

    本文将深入探讨如何使用Java和Android进行HTTP POST请求,以及如何处理服务器端接收到的数据。 首先,让我们了解POST请求的基本概念。POST请求是HTTP协议中的一个方法,用于向服务器发送数据,这些数据会被包含在...

    android请求php数据通过json交互demo

    在PHP端,你需要接收Android发送的请求并处理数据。PHP提供了json_decode函数来解析JSON字符串,并可以通过MySQL数据库进行数据的存取。以下是一个简单的PHP示例: ```php <?php // 接收POST数据 $jsonData = file_...

    POST方式发送ajax请求

    `test.jsp`接收POST请求,处理数据,然后可能转发到`result.jsp`显示结果。 总结,通过AJAX的POST方式发送请求,可以实现异步数据交互,提高用户体验。封装表单数据是常见的应用场景,确保了数据的安全传输。在实际...

    android HttpPost请求连接服务器端的实例

    一般来说,你需要创建一个对应的接收POST请求的路由,解析接收到的参数并返回响应数据。 总的来说,这个实例涵盖了Android应用中使用HttpPost请求连接服务器的基本步骤,包括异步执行请求、检查网络连接以及处理...

    post方式提交数据

    在Android开发中,POST请求通常用于向服务器发送复杂的数据结构,比如JSON或XML格式的数据。以下是实现POST请求的一般步骤: 1. **构建请求体**:你需要将要发送的数据转换成字符串或者字节数组。这通常涉及对Java...

    客户端GET、POST上传数据

    POST请求的数据放在请求体中,不会显示在URL上,因此可以传输大量数据,且更安全。在Android前端开发中,我们通常使用`HttpURLConnection`或第三方库如`OkHttp`来实现POST请求,将数据以键值对形式封装到请求体中...

    PHP使用Http Post请求发送Json对象数据代码解析

    因项目的需要,PHP调用第三方 Java/.Net 写好的 Restful Api,其中有些接口,需要 在发送 POST 请求时,传入对象。 Http中传输对象,最好的表现形式莫过于JSON字符串了,但是作为参数的接收方,又是需要被告知传过来...

    PHP调用JAVA的SMS4类tomcat包

    4. **PHP调用Java**:在PHP端,可以使用PHP的cURL库或者其他HTTP客户端库发送POST请求到Tomcat服务器上的SMS4服务接口,传递必要的参数如手机号码、短信内容等。 5. **通信与响应处理**:Java端接收到请求后处理...

    android与PHP简单的数据请求 Mac下xampp

    实际项目中,你可能需要处理更复杂的情况,如POST请求、错误处理、SSL连接等。同时,考虑到安全性,不要直接在URL中传递敏感信息,而是应该使用POST请求将数据封装在请求体中,或者使用HTTPS加密通信。 总的来说,...

    还是GET和POST的服务端和客户端的小案例

    客户端会构造一个POST请求,请求体中包含要发送的数据,服务器端接收到POST请求后,解析请求体中的数据,可能进行数据库操作,然后返回响应。在服务端,我们可以使用各种编程语言(如PHP、Java、Python等)来处理...

    Java调用php的webservice

    通过`$HTTP_RAW_POST_DATA`获取到请求的数据,并通过`$server->service()`方法处理请求。 #### 三、Java客户端调用PHP Webservice Java客户端使用Apache Axis库来调用PHP Webservice服务。 ##### 1. 创建Service...

    ajax跨域请求demo.zip

    这里的`doPost`方法处理了来自前端的POST请求。`Access-Control-Allow-*`头字段是CORS(Cross-Origin Resource Sharing,跨源资源共享)机制的一部分,用于告知浏览器服务器允许哪些来源的请求。 总结来说,这个...

    FLEX与C#、PHP、JAVA语言通信全面解析

    - 接收POST请求中的数据,处理后,将结果返回到FLEX客户端。在这个例子中,PHP可能从请求中提取username和emailaddress,然后执行相应的业务逻辑,最后将处理结果以XML格式返回。 3. **FLEX与JAVA通信**: 对于...

    不同web服务器之间采用http发送请求以及处理返回数据

    当接收到请求时,Apache会根据配置将请求分发给相应的处理模块。Nginx则以其高效的反向代理和负载均衡能力闻名,它采用事件驱动的非阻塞I/O模型,能处理大量并发连接。 在处理返回数据时,Web服务器通常需要与应用...

    ECharts前台后台数据交互Demo

    设置请求方法(GET或POST)、URL、数据(如果需要发送数据给后端)以及回调函数来处理响应。 4. **处理响应**:后端接收到请求后执行SQL查询,然后将查询结果转化为JSON格式返回给前端。前端的AJAX回调函数会接收到...

    文件上传的处理方法(java,.net,php通用)

    ### 文件上传的处理方法(Java,.NET,PHP通用) #### 概述 在Web开发过程中,文件上传是一项常见的功能需求。无论是用户头像、文档资料还是其他类型的文件,都需要通过客户端向服务器发送请求来完成上传操作。...

Global site tag (gtag.js) - Google Analytics