atitit.http get post的原理以及框架实现java php

本文详细介绍了HTTP GET和POST的基本操作原理,包括参数编码、流编码、图片和文件上传,以及Java和PHP中使用URLConnection、HttpURLConnection、Apache HttpClient和浏览器发送HTTP请求的框架实现。重点讨论了不同场景下的编码问题、请求发送方法的选择和处理,如处理登录、Session、Cookie等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

atitit.http get post的原理以及框架实现java php

 

1. 相关的设置 1

1.1. urlencode 1

1.2. 输出流的编码 1

1.3. 图片,文件的post 1

2. get比较简单只是文字串 1

3. post 字节流(基础) 1

4. post文字(with编码) 2

5. 发送http请求的框架 2

5.1. jdk URLConnection 2

5.2. jdk   HttpURLConnection 2

5.3. apache httpclient 2

5.4. http browser 3

6. 参考 3

 

 

1. 相关的设置

1.1. urlencode

1.2. 输出流的编码

1.3. 图片,文件的post

 

2. get比较简单只是文字串

好像没有编码的问题

3. post 字节流(基础)

 public static String sendPost(String urlbyte[] bytes

 

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

4. post文字(with编码)

OutputStream outputStream=conn.getOutputStream();

        outputStream.write(param.getBytes("UTF-8"));

            // flush输出流的缓冲

        outputStream.flush();

 

 

5. 发送http请求的框架

5.1. jdk URLConnection

Java有原生的API可用于发送HTTP请求,即java.net.URL、java.net.URLConnection,这些API很好用、很常用,但不够简便

 

5.2. jdk   HttpURLConnection

java的标准类,HttpURLConnection继承自URLConnection,可用于向指定网站发送GET请求、POST请求。它在URLConnection的基础上提供了如下便捷的方法:

 

· int getResponseCode():获取服务器的响应代码。

· String getResponseMessage():获取服务器的响应消息。

· String getResponseMethod():获取发送请求的方法。

· void setRequestMethod(String method):设置发送请求的方法

 

5.3. apache httpclient

 

     在一般情况下,如果只是需要Web站点的某个简单页面提交请求并获取服务器响应,HttpURLConnection完全可以胜任。但在绝大部分情 况下,Web站点的网页可能没这么简单,这些页面并不是通过一个简单的URL就可访问的,可能需要用户登录而且具有相应的权限才可访问该页面。在这种情况 下,就需要涉及SessionCookie的处理了,如果打算使用HttpURLConnection来处理这些细节,当然也是可能实现的,只是处理起 来难度就大了。

       为了更好地处理向Web站点请求,包括处理SessionCookie等细节问题,Apache开源组织提供了一个HttpClient项目,看它的名称就知道,它是一个简单的HTTP客户端(并不是浏览器)可以用于发送HTTP请求,接收HTTP响应。但不会缓存服务器的响应,不能执行HTML页面中嵌入的Javascript代码;也不会对页面内容进行任何解析、处理

 

5.4. http browser

 

 

6. 参考

Java网络连接之HttpURLConnectionHttpClient 区别及联系 花开冬季 博客频道 - CSDN.NET.htm

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值