精华内容
下载资源
问答
  • java调用HTTP接口(Get请求和Post请求)

    万次阅读 多人点赞 2018-09-14 16:43:27
    前提: 一个Http接口:...name=99999999 id和name是传入的参数 浏览器访问接口: ...java代码调用Http接口代码如下(代码中注释分为两部分:处理get请求和post请求): package com.inspur.OKHTTP...

    敢扫吗,不敢的话,就别扫了

    前提:

    一个Http接口:http://172.83.38.209:7001/NSRTRegistration/test/add.do?id=8888888&name=99999999

    id和name是传入的参数

    浏览器访问接口:

    java代码调用Http接口代码如下(代码中注释分为两部分:处理get请求和post请求):

    package com.inspur.OKHTTP;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class TESTOKHttp {
    
    	 /**
         * 调用对方接口方法
         * @param path 对方或第三方提供的路径
         * @param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析
         */
        public static void interfaceUtil(String path,String data) {
            try {
                URL url = new URL(path);
                //打开和url之间的连接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                PrintWriter out = null;
                
                /**设置URLConnection的参数和普通的请求属性****start***/
               
                conn.setRequestProperty("accept", "*/*");
                conn.setRequestProperty("connection", "Keep-Alive");
                conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); 
                
                /**设置URLConnection的参数和普通的请求属性****end***/
                
                //设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个
                //最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,
                //post与get的 不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
                conn.setDoOutput(true);
                conn.setDoInput(true);
                
                conn.setRequestMethod("GET");//GET和POST必须全大写
                /**GET方法请求*****start*/
                /**
                 * 如果只是发送GET方式请求,使用connet方法建立和远程资源之间的实际连接即可;
                 * 如果发送POST方式的请求,需要获取URLConnection实例对应的输出流来发送请求参数。
                 * */
                conn.connect(); 
                
                /**GET方法请求*****end*/
                
                /***POST方法请求****start*/
                
                /*out = new PrintWriter(conn.getOutputStream());//获取URLConnection对象对应的输出流 
                
                out.print(data);//发送请求参数即数据
                
                out.flush();//缓冲数据
                */            
                /***POST方法请求****end*/
                
                //获取URLConnection对象对应的输入流
                InputStream is = conn.getInputStream();
                //构造一个字符流缓存
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String str = "";
                while ((str = br.readLine()) != null) {
                	str=new String(str.getBytes(),"UTF-8");//解决中文乱码问题
                    System.out.println(str);
                }
                //关闭流
                is.close();
                //断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。
                //固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。
                conn.disconnect();
                System.out.println("完整结束");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        public static void main(String[] args) {
        	
        	interfaceUtil("http://172.83.28.221:7001/NSRTRegistration/test/add.do?id=8888888&name=99999999", "");//get请求
           
            /*interfaceUtil("http://172.83.28.221:7001/NSRTRegistration/test/add.do",
                 "id=8888888&name=99999999");*///post请求
        }
    
    }
    

    运行java代码:

    一个朋友新做的公众号,帮忙宣传一下,会不定时推送一些开发中碰到的问题的解决方法,以及会分享一些开发视频。资料等。请大家关注一下谢谢:

    展开全文
  • get请求和post请求的详细区别

    万次阅读 多人点赞 2019-06-06 16:29:40
    GET和POST是HTTP请求的...你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。 你轻...

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。

     

    最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

     

    你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。

     

    当你在面试中被问到这个问题,你的内心充满了自信和喜悦。

     

    你轻轻松松的给出了一个“标准答案”:
     

    • GET在浏览器回退时是无害的,而POST会再次提交请求。

       

    • GET产生的URL地址可以被Bookmark,而POST不可以。

       

    • GET请求会被浏览器主动cache,而POST不会,除非手动设置。

       

    • GET请求只能进行url编码,而POST支持多种编码方式。

       

    • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

       

    • GET请求在URL中传送的参数是有长度限制的,而POST么有。

       

    • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

       

    • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

       

    • GET参数通过URL传递,POST放在Request body中。

    (本标准答案参考自w3schools)

     

    “很遗憾,这不是我们要的回答!”

     

    请告诉我真相。。。

     

    如果我告诉你GET和POST本质上没有区别你信吗? 


    让我们扒下GET和POST的外衣,坦诚相见吧!


    GET和POST是什么?HTTP协议中的两种发送请求的方法。

     

    HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

     

    HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。 

     

    那么,“标准答案”里的那些区别是怎么回事?

     

     

     

    在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。为了避免这种情况发生,交通规则HTTP诞生了。HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。当然,你也可以在GET的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

     

    但是,我们只看到HTTP对GET和POST参数的传送渠道(url还是requrest body)提出了要求。“标准答案”里关于参数大小的限制又是从哪来的呢?

     


     

    在我大万维网世界中,还有另一个重要的角色:运输公司。不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司。 虽然理论上,你可以在车顶上无限的堆货物(url中无限加参数)。但是运输公司可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都是很大负担。业界不成文的规定是,(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url。超过的部分,恕不处理。如果你用GET服务,在request body偷偷藏了数据,不同服务器的处理方式也是不同的,有些服务器会帮你卸货,读出数据,有些服务器直接忽略,所以,虽然GET可以带request body,也不能保证一定能被接收到哦。

     

    好了,现在你知道,GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 

     

    你以为本文就这么结束了?

     

    我们的大BOSS还等着出场呢。。。

     

    这位BOSS有多神秘?当你试图在网上找“GET和POST的区别”的时候,那些你会看到的搜索结果里,从没有提到他。他究竟是什么呢。。。

     

    GET和POST还有一个重大区别,简单的说:

    GET产生一个TCP数据包;POST产生两个TCP数据包。

     

    长的说:

    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

     

    也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

     

    因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?

    1. GET与POST都有自己的语义,不能随便混用。

    2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

    3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

     

    现在,当面试官再问你“GET与POST的区别”的时候,你的内心是不是这样的?

     

    结束!!!

    原文:https://www.cnblogs.com/logsharing/p/8448446.html

    想了解更多java基础知识,关注个人微信公众号:小周只会基础

    (公众号是新申请的,有问题留言就行,后期有时间会完善公众号)

    展开全文
  • thinkjs接收get请求、post请求

    万次阅读 2020-07-03 17:38:35
    文章目录笔者使用环境:服务端对前端请求进行校验服务端接收前端的请求参数GET请求POST请求 笔者使用环境: 服务端:thinkjs 前端:react 请求:umi-request 服务端对前端请求进行校验 文件目录: src/logic/user.js...

    此文介绍使用 thinkjs 如何获取前端的请求参数。

    笔者使用环境:

    服务端:thinkjs
    前端:react
    请求:umi-request

    服务端对前端请求进行校验

    文件目录: src/logic/user.js

    请确保logic的目录和controller目录结构一致

    module.exports = class extends think.Logic {
    	checkTools(rules) {
    		// 想要拓展这个方法的话具体校验内容可参考https://thinkjs.org/zh-cn/doc/3.0/logic.html
    		const msgs = {
    			required: '{name} 不能为空',
    			string: '{name} 必须是字符串类型',
    			array: '{name} 必须是数组类型',
    			boolean: '{name} 必须是布尔类型',
    			int: '{name} 必须是整数',
    			float: '{name} 必须是浮点数类型',
    			object: '{name} 必须是对象类型'
    		};
    
    		const flag = this.validate(rules, msgs);
    		if (!flag) {
    			return this.fail(1002, '参数校验失败', this.validateErrors);
    		}
    	}
    
    	addUserAction() {
    		this.allowMethods = 'post'; // 如果请求不是post的话会直接终止后续操作返回前端错误。
    		return this.checkTools({
    			name: { required: true, string: true, trim: true },
    		}) // 调用自定义的方法进行校验参数
    	}
    }
    

    服务端接收前端的请求参数

    GET请求

    thinkjs服务端这边可以通过俩种方法获取:

    1. this.ctx.request.query
    2. this.get()

    前端使用umi-request发送请求:

    import umiRequest from 'umi-request';
    
    // 省略了非关键代码
    // 第一种请求加参数的方法
    umiRequest.get('http://127.0.0.1:8360/user/queryUsers?id=2&name=3')
      .then((response) => {
        console.log(response)
      })
      .catch(err => {
        console.log(err);
      });
      
    // 第二种请求加参数的方法
    umiRequest.get('http://127.0.0.1:8360/user/queryUsers', {
    	params: { id: 111, name: '吴迪' }
    })
      .then((response) => {
        console.log(response)
      })
      .catch(err => {
        console.log(err);
      });
    

    POST请求

    thinkjs服务端这边可以通过俩种方法获取:

    1. this.ctx.request.body
    2. this.post()

    前端使用umi-request发送请求:

    import umiRequest from 'umi-request';
    
    // 省略了非关键代码
    umiRequest.post('http://127.0.0.1:8360/user/editUser', {
      body: vals,
      headers: {
        "Content-Type": "application/json;"
      }
    })
    	.then((response) => {
    	  console.log(response);
    	})
    	.catch(err => {
    	  console.log(err);
    	});
    

    拓展介绍:四种常见的 POST 提交数据方式

    展开全文
  • java进行一次get请求,少说都要洋洋洒洒一两百行代码,创建流,发请求,解析数据,关闭流等等 而python就四行 业务代码 import requests #请求地址 url = ...

    java进行一次get请求,少说都要洋洋洒洒一两百行代码,创建流,发请求,解析数据,关闭流等等

    而python就四行

    业务代码

        import requests
    
        #请求地址
        url = "https://api.global.net/datastore/v1/tracks/"+trackId+"?location=12}"
        #发送get请求
        r = requests.get(url)
        #获取返回的json数据
    
        print(r.json())

     

    post请求:

        https://blog.csdn.net/private66/article/details/80804163

    展开全文
  • 我的爬虫之路 ---- GET请求与POST请求

    万次阅读 2020-02-08 21:28:10
    1、GET请求 HTTP默认的请求方法就是GET * 没有请求体 * 数据必须在1K之内! * GET请求数据会暴露在浏览器的地址栏中 GET请求常用的操作: 1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求 2. 点击页面上的...
  • get请求和post请求的区别

    千次阅读 2020-01-15 09:46:12
    最直接的就是get请求将请求内容直拼接到url上,post请求是将请求内容放到request body中 get请求会被浏览器缓存,post不会 get请求页面后退时,不产生影响,post请求页面后退时,会重新提交请求 GET请求只能进行url...
  • get请求与post请求的特点

    千次阅读 2019-10-25 10:52:59
    GET请求具有以下的几个特点: GET请求可被缓存 GET请求保留在浏览器历史记录中 GET请求可被收藏为书签 GET请求不应在处理敏感数据时使用 GET请求有长度限制 GET请求只应当用于取回数据 POST请求的特点如下: POST...
  • java拼接get请求的url请求地址

    万次阅读 2017-10-01 09:52:47
    java拼接get请求的url请求地址 /** * 拼接get请求的url请求地址 */ public static String getRqstUrl(String url, Map, String> params) { StringBuilder builder = new StringBuilder(url); b
  • AJAX中出现两次请求,OPTIONS请求和GET请求

    万次阅读 多人点赞 2017-10-18 14:16:49
    在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求,得到的数据出错,所以想要去掉OPTIONS请求。
  • HttpClient发送get请求和post请求

    千次阅读 2019-01-02 15:02:02
    新建两个项目:test-demo为接口方法,httpclient-demo测试发送get请求和post请求。 1.Httpclient发送get请求 httpclient-demo中测试方法 httpclient-demo中工具类 test-demo接口方法 2.Httpclient发送...
  • get请求改post请求

    千次阅读 2018-01-09 16:47:44
    get请求不安全,还有长度受限制。在项目中url参数过长超出浏览器限制,点击查询失败,页面时白色的。修改思路是:写一个隐藏form。结果:修改后查询正常。 原来get请求: window.location.href = “/obm/...
  • Java面试之Get请求和Post请求

    千次阅读 2020-05-10 13:00:59
    之前一次面试时面试官问到了Get请求和Post请求的区别,对于web基础来说这个还是比较重要的,所以我打算整理一下分享给大家,以下是我个人的一些总结,如果大神有更好的理解,欢迎补充。 从三个方面来总结 Get请求...
  • Postman使用笔记——Postman发送get请求

    万次阅读 2018-08-27 23:08:03
    在这篇博客里面分享一下,如何在Postman中发送get请求。 发送get请求 1.在Postman工作空间选定get请求 图中我们可以看到很多请求方式,我们需要选中图中的get请求。告诉Postman我们请求这个接口是使用get请求。...
  • 接收get请求/** *接收一个带参数的http请求 * 127.0.0.1:3000/http_get?name=小小沉沉&password=qwer * 一般会有两次请求 另一次为http://127.0.0.1:3000/favicon.ico 这个是浏览器自动发起的请求,需要特殊处理 * *...
  • c#发送get请求

    千次阅读 2016-09-13 00:34:38
    c#发送get请求
  • 微信小程序 GET请求 与POST 请求

    千次阅读 2019-08-16 09:17:56
    如果你要提交一篇文章,肯定只能用post,因为数据量太大,get请求类似浏览器url请求,你把一篇文章放到url里面肯定请求不过去,如果你只是个简单的传id或者比较少的参数可以用get,还有就是有密码输入建议用post,post...
  • java发起get请求

    万次阅读 2019-07-18 10:35:49
    java后台发起get请求 学习记录: 话不多说直接上代码: package com.jl.chromeTest; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; ...
  • Get请求和Post请求的区别

    千次阅读 2018-10-26 19:22:00
    Web的面试题中经常会出现这么一道题,请简述Get请求和Post请求的区别,标准答案如下: get在浏览器回退时是无害的,post会再次提交请求; get产生的url地址可以被bookmark(加入标签),post不可以; get请求...
  • GET请求和POST请求的区别

    千次阅读 2020-04-23 22:41:50
    博客参考w3school做出的总结 先了解什么是HTTP? HTTP,又被称为超文本传输协议,是互联网上应用最为广泛的一种网络... GET:GET请求是从指定资源请求数据 POST:POST请求向指定支援提交要被处理的请求 来自w3s...
  • nodejs接收get请求参数

    万次阅读 2017-11-30 23:20:23
    nodejs接收get请求参数 1.1-浏览器向服务器发送get请求参数的两种方式 1.2-服务端使用url模块解析get请求参数 在http协议中,一个完整的url路径如下图通过下图我们可以得知,get请求的参数是直接在url路径中显示。 ...
  • 交换机设置定时脚本发送get请求

    万次阅读 2020-01-14 15:00:28
    :local ipaddr [/ip address get [/ip address find interface="pppoe-out1"] address] :set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)] local par "\?&ip=$ipaddr" /tool fetch url=($...
  • 最近项目中Controller层查询接口需要通过实体来接受前端传过来的多个参数(Get请求),这个问题困扰了我很久,之前在第二家公司的时候,就因为我后端是Get请求,并且是通过实体去接收前端参数的,导致我当天上线搞到...
  • Ajax的get请求

    千次阅读 2019-07-24 13:48:50
    GET请求 创建 xhr 对象 创建请求 - open() 设置回调函数 - onreadystatechange 1.判断状态 2.接收响应 3.业务处理 发送请求 - send(null) GET请求 示例 以下代码中显示主要功能: 1. a 标签 跳转到新的页面(........
  • #get请求: #第一个方法 import urllib import urllib2 def getUrllibFun(url): headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0'} req = urllib2....
  • RestTemplate如何发送带headers的GET请求

    万次阅读 热门讨论 2019-01-15 19:15:09
    需求:发送自定义header的GET请求,header中需要插入一个签名。 发送自定义header的POST请求 之前写过一个类似的请求,但是是POST的。这个也摸了一段时间,自己看参数整了出来。代码如下: // header填充 ...
  • Get请求、Post请求在Postman中的使用

    千次阅读 2019-03-19 09:10:03
    接口测试常用的是get请求和post请求。 get请求和post请求的区别 1.get请求只有请求头,没有请求体,它的参数是写在url里面。 2.get请求一般用来向服务器获取数据,post请求用来向服务器发送数据。 get请求 get...
  • http get请求和post请求的格式区别

    万次阅读 2017-05-05 00:28:06
    写了一个cgi, 支持get请求, 在fiddler中重放get请求, 一切正常, 参数格式如下: GET /cgi-bin/my_cgi?uin=12345&appID=20&content=xxx HTTP/1.1 Host: x.y.z.com  现在要支持post请求, 如果想当然地改成 POST...
  • GET请求URL拼接参数

    万次阅读 2018-12-27 19:52:24
    1. 只拼接参数:(适用于拼接的参数中没有... * @Description get请求URL拼接参数 * @param url * 接口地址(无参数) * @param map * 拼接参数集合 */ public static String getAppendUrl(String url, Ma...
  • get请求 post请求哪个更安全

    千次阅读 2016-10-22 21:08:12
    都不安全 因为数据没有加密 一般使用HTTPS才会比较安全 get请求比post请求更不安全 一般http协议请求完数据就会立即关闭连接 但是GET请求还会在浏览器中有缓存

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,113
精华内容 42,845
关键字:

get请求