「java报文请求」java发送http报文
今天给各位分享java报文请求的知识,其中也会对java发送http报文进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、javaweb里get请求头报文信息含义是什么啊
- 2、java使用Http协议发请求报文?
- 3、怎么用java 发送http报文
- 4、java中get请求和post请求分别请求的对象类型是什么,什么不一样
javaweb里get请求头报文信息含义是什么啊
常见的HTTP报文头属性
Accpet
告诉服务端,客户端接收什么类型的响应
Referer
表示这是请求是从哪个URL进来的,比如想在网上购物,但是不知道选择哪家电商平台,你就去问度娘,说哪家电商的东西便宜啊,然后一堆东西弹出在你面前,第一给就是某宝,当你从这里进入某宝的时候,这个请求报文的Referer就是
Cache-Control
对缓存进行控制,如一个请求希望响应的内容在客户端缓存一年,或不被缓可以通过这个报文头设置
Accept-Encoding
例如:Accept-Encoding:gzip, deflate(这两种都是压缩格式)
这个属性是用来告诉服务器能接受什么编码格式,包括字符编码,压缩形式(一般都是压缩形式)
Host
指定要请求的资源所在的主机和端口
User-Agent 作用:告诉服务器,客户端使用的操作系统、浏览器版本和名称
java使用Http协议发请求报文?
1.java.net.Socket 中有一个接口叫 PackageReceiver 你创建一个类继承自PackageReceiver
2.自己写一个类ConnectToHost 定义一些常量如
public ConnectToHost()
{
port = 0;
keepAlive = false;
lastCommTime = 0;
connectionCtrl = false;
maxConnection = 10;
connections = new ArrayList();
soTimeOut = 0;
inUsedConnection = 0;
alive = true;
dual = true;
reconnectImmediately = false;
pollingWeight = 1;
}
3.写一个方法用来获取本地要发送的数据,如
private static String getRequestData(String name) throws IOException {
// TODO Auto-generated method stub
File testReq = new File("E:/virturlSend/", name);
// 输入流
FileInputStream infile = null;
InputStreamReader isr = null;
BufferedReader in = null;
String strLine = "";
StringBuffer strTotalLine = new StringBuffer();
try {
infile = new FileInputStream(testReq); // 以流的方式读配置文件
isr = new InputStreamReader(infile);
in = new BufferedReader(isr);
for (int iLine = 1; (strLine = in.readLine()) != null; iLine++) { // 从上传文件中每次读一行
// System.out.println(strLine.getBytes());
strTotalLine.append(strLine);
}
} catch (Exception ee) {
} finally {
in.close();
isr.close();
infile.close();
}
return strTotalLine.toString();
// return "baoyy";
}
4.设置主机信息 如
ConnectToHost connectToHost = new ConnectToHost();
//connectToHost.setHostAddr("20.*2.*.35");
//connectToHost.setPort(27098);
connectToHost.setHostAddr("127.*.*.1");
connectToHost.setPort(6789);
connectToHost.setMaxConnection(20);
5.发送数据
service.addConnectToHost(connectToHost);
以上代码不是全部 仅提供大体思路和构架 不知道能不能帮到您
怎么用java 发送http报文
URL url = null;
HttpURLConnection httpurlconnection = null;
try {
url = new URL("");
// 以post方式请求
httpurlconnection = (HttpURLConnection) url.openConnection();
httpurlconnection.setConnectTimeout(6000);
httpurlconnection.setReadTimeout(6000);
httpurlconnection.setDoOutput(true);
httpurlconnection.setRequestMethod("POST");
msg=java.net.URLEncoder.encode(msg,"utf-8");
String username = "UserName=userPassword=pwdSrcNumber=1065DestTermID="
+ dest+ "MsgContent=" + msg;
httpurlconnection.getOutputStream().write(
username.getBytes("utf-8"));
httpurlconnection.getOutputStream().flush();
httpurlconnection.getOutputStream().close();
// 获取响应代码
code = httpurlconnection.getResponseCode();
// 获取页面内容
java.io.InputStream in = httpurlconnection.getInputStream();
java.io.BufferedReader breader = new BufferedReader(
new InputStreamReader(in, "gb2312"));
String str = breader.readLine();
while (str != null) {
resp+=str;
str= breader.readLine();
}
} catch (Exception e) {
resp="err";
} finally {
if (httpurlconnection != null)
httpurlconnection.disconnect();
}
java中get请求和post请求分别请求的对象类型是什么,什么不一样
1. get 是从服务器上获取数据,post 是向服务器传送数据。 get 请求返回 request - URI 所指出的任意信息。
Post 请求用来发送电子邮件、新闻或发送能由交互用户填写的表格。这是唯一需要在请求中发送body的请求。使用Post请求时需要在报文首部 Content - Length 字段中指出body的长度。
2. get 是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程。
3. 对于 get 方式,服务器端用Request.QueryString获取变量的值,对于 post 方式,服务器端用Request.Form获取提交的数据。
4. get 传送的数据量较小,不能大于2KB。post 传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 用IIS过滤器的只接受get参数,所以一般大型搜索引擎都是用get方式。
5. get 安全性非常低,post 安全性相对较高。如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post 为好。
java报文请求的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java发送http报文、java报文请求的信息别忘了在本站进行查找喔。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。