渗透(一)Host,DNS,Http协议,Java实现Post,Get请求

hosts和DNS工作原理

hosts文件相当于手机的电话簿,DNS相当于本地的114
hosts是一个没有扩展名的系统文件,可以用vi和记事本等工具打开,其作用就是将一些常用的域名与其对应的ip
地址建立联系,当用户在浏览器中输入一个需要登陆的网址时,系统会首先从hosts文件中寻找对应的ip地址,一旦找到
系统会立即打开对应的网页,如果没有找到,系统会将网址提交给DNS域名解析服务器进行ip地址的解析,hosts的请求级别比DNS高

DNS的作用跟hosts一样,也是用来解析IP地址的,只不过hosts文件用户可以自由修改,不过DNS上的内容用户是无法修改的,不过用户
可以选择使用哪个DNS服务,一般默认使用电信服务商的,但也可以选择第三方的DNS服务,比如Google,阿里,百度等

http协议

HTTP协议简介

协议规则:内容本身
特点:
1.传输过程明文传输,安全性比较差
2.HTTP协议是一种无状态的协议,所以每一个Request都是不相关的
3.应用层协议

HTTP状态码

HTTP协议请求

GET获取服务器的资源
POST在发送信息给服务器,发送信息作为post请求的正文

HTTP响应

HTTP Session

session id 唯一标识客户端,浏览器的身份(服务器分配),服务器后端有一个表就是sessionID对应的的信息(是否已登录,用户名之类的),
保存在服务器端
解决HTTP的无状态

HTTP Cookie

保存在客户端
浏览器读取本地的cookie(通常存放session id)

浏览器访问cookie对应的域名作用域,浏览器将本地存相应域名对应的cookie信息(session id)发送给服务器,服务器过根据session id 找到对应
状态信息

Java实现Get.Post

package cn.itcast.day04.demo01;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class JavaHttpHander {
public static void main(String[] args) {

   //sendGet("https://www.baidu.com/");
   sendPost("https://sso.tju.edu.cn/cas/login?service=http%3A%2F%2Fclasses.tju.edu.cn%2Feams%2FhomeExt.action%3Bjsessionid%3D9CB8005C13DCEF8EB160688CAA7678FD.std5","username\t2019216092\n" +
           "password\txgh961120\n" +
           "execution\t9e0b8d3e-c5b1-4508-b0ab-24c42dd17de4_ZXlKaGJHY2lPaUpJVXpVeE1pSjkuUVRFMFJYWlJaV1pLVVN0SVVHNVhMMk5RYzBoWWNIcG1SV2RaVTJ3d1MwVjJhMmN5Wm14dWFXRlJOSFF3WmpGUlRERkxOWE16VEdkNWJTdDNORVF2VFcxQ1NWTkhTM2x4WjBWWWVUaG1UV1ZLY20wNWVYRTVUVWR2VFRodGJsVmxZelpSYVdvNVkyaEJRWE5rVlc5YWJHaGtUekJ4WVRaeVVUbHNiVEZpT1dwSWFIUjJUVVJNUkdaeVRDdHFOMlZ3YVRsbVJHSkhMM3AzYVU1elVEUlJOMDlUUm5oRlJtVnRNRGxSV25aUGVHZDZOV2t2VFRBemFuaDBZM2hRTTNONVJHUlpaMWR6TlVSTWRGSndZVWhFVFhwdk1XczNja04wTVhoSWFtdHlPRkJ1WkVad056UnJVMnRCU2sxM0swaFZNbWRDU1RScFpGcGlSRXB…U1WQjFPR0kzTDFWT2NYY3JVbk5vV0hKVmFVWm5PRmd4YjNsc1IxbFdSVmxvZDJ0VUx6TjZXSFJ5UTAxemRtbExkMWN3T1dWSlUxRm5WbkJ0ZFZBM2RrcFZaSEpxYUZoVllrcDZUWGxJVFdWMFQwMU1RMmRsYjBkVFRscFJTek00Vkd0WFVTOUphVUo2WWpVNWNrbGxVMWd2U0hWaU1USkZUakZFVTB0UGVtRlhiRVkxZEVSWWNUZEdXV2QxUkVGcWFGWlJjbXR6VDFrMlRucEZaemROVkV4QlppOXRlSEpyVlVsNWNWUm1RMkZ1UkZoT1YyUlVWV014YlZwUWQybE9aVUZZY0hselFVSkxPRlJyTjJSaGN6aGhTVFZxYlcxM1NVWktaRGc5LkxJdE4zNm1CUXMwd2huYzhrUjluczI3Sl90X1d5UkxNUGpHQVJ1dXN3RXpKekhIY3VJX3paVzVnb0RkY1hNOVlLRFkyUmcxblduQXhPODB6UUduMHNB\n" +
           "_eventId\tsubmit\n" +
           "geolocation\t");
}

public static void  sendGet(String urlAddress)  {

    try {
        URL url =new URL(urlAddress);
        try {
            HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
            urlConnection.setReadTimeout(5000);
            urlConnection.connect();

            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
            String line =bufferedReader.readLine();
            System.out.println(line);
            while (line!=null){

                System.out.println(line);
                line =bufferedReader.readLine();
                System.out.println("===============");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
}
public static void  sendPost(String urlAddress,String parmValue)  {

    try {
        URL url =new URL(urlAddress);
        try {
            HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();
            urlConnection.setDoOutput(true);
            urlConnection.setReadTimeout(5000);
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
            urlConnection.connect();

            PrintWriter pw = new PrintWriter(urlConnection.getOutputStream());
            pw.print(parmValue);
            pw.flush();

            String line =bufferedReader.readLine();
            System.out.println(line);
            while (line!=null){

                System.out.println(line);
                line =bufferedReader.readLine();
                System.out.println("===============");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值