1 开端

HTTP Client是IDEA中自带的一个插件,用于代替原来的REST Client,打开Tools->HTTP Client->Test RESTful Web Service,会提示REST Client不推荐使用,推荐使用HTTP Client:

然后当然就点击使用啊,但是,问题来了,一个普通的GET请求都发送不出去????



IDEA的东西估计没这么菜吧???

肯定不会这么菜的。。。

但是为什么就是发不出去???

2 尝试

GET请求对吧,浏览器也可以做,于是,使用了浏览器进行测试,一点问题都没有:

没理由啊,笔者在想,那为什么IDEA不行呢??

接着使用了大名鼎鼎的Postman,也是一点问题也没有:



Postman也没问题啊,接着试试“情敌”Postwoman,问题来了!

发送不出去,查看了一下F12控制台,报错如下:



搜索了一下解决办法,是跨域资源请求的问题,在Controller类上加上

@CrossOrigin(value = "http://localhost:3000")

即可,因为Postwoman默认运行的端口为3000。

这个注解还可以作用在方法上,起作用的就是对应的方法,这里是对整个Controller起作用。

另外这里只使用了最简单的参数,其他的参数还有origins(同value),allowHeadersexposedHeadersmethodsallowCredentialsmaxAge,具体使用不介绍,加上了以后Postwoman就能正常发送请求了:

3 再次尝试

但是IDEA中的HTTP Client还是不行啊,就最最最普通的GET请求,还是返回500:



于是换了一种思路,想再用其他类似插件的方式测试。

所以就想到了VScode,里面有一个类似的扩展叫REST Client,安装以后写了一个普通的GET请求,完全没问题:



但还是想不到为什么IDEA还是不行啊???

还是500 。。。

。。。

但是,反过来想,可能是请求发送不出去,因为如果是接受到了请求的话,肯定会有日志记录的,但是没有,所以原因可能是请求发送不出去。。。

4 最终答案

一个普通的GET请求为什么发送不出去?

到底是为什么会返回500?

最后,经过一番痛苦的思考,找到了问题所在:代理!



发送不出去就是因为设置了本地代理,返回的500,是代理服务器返回的,不是Tomcat返回的。

终于,把代理去掉之后,HTTP Client就可以正常使用了:



没错,“真凶”就是代理。

最后终于打消了笔者的误解,为什么IDEA中的HTTP Client会这么“菜”,连一个普通的GET请求也发送不出去??

一次使用IDEA中HTTP Client的经历的更多相关文章

  1. Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6633311 在上一篇文章中,我 们分析了And ...

  2. postfix中recipient/client/sender/helo四者的区别<转载>

    postfix在main.cf中用下面四个做限制,那么这四者到底有什么区别? smtpd_recipient_restrictions smtpd_client_restrictions smtpd_ ...

  3. 在nodejs中引进模块要经历的步骤

    在nodejs中引入模块需要经历如下3个步骤 1.路径分析 2.文件定位 3.编译执行 在nodejs中模块分为两类,一类是nodejs提供的模块,称为核心模块,另一类的用户编写的模块,称为文件模块. ...

  4. Java - 在WebService中使用Client调用三方的RestAPI

    背景 近期,由于项目的要求需要在自己的webservice中调用远程的WebAPI(Restful format).自己的webservice程序是用Java编码写的,所以需要在其中实现一个Clien ...

  5. HBase中的Client如何路由到正确的RegionServer

    在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer.什么叫相应的RegionServer?就是管理你要操 ...

  6. python基础===python3中 http.client 和 urllib的那些事

    import http.client #python3中没有了 httplib的库 #python 3.x中urllib库和urilib2库合并成了urllib库.. #其中urllib2.urlop ...

  7. Spring3拦截引发的问题——WEB开发中的client路径

    什么是client路径? 第一类.也就是html或js文件等client訪问的文件里的路径,这里包含一些资源文件的引入(js.css还有各种图片等),或是跳转到静态html页面,总之获取的都是静态资源 ...

  8. Dynamics 365中的Client API form context (formContext)

    适用于Dynamics 365 for Customer Engagement apps 9.x版本. 本文是一篇翻译,原文来源是微软官方文档. 本文链接:https://www.cnblogs.co ...

  9. 踏着前人的脚印学hadoop——ipc中的Client

    1.Client有五个内部类,分别是Call,ParallelCall,ParallelResult,Connetion,ConnectionId 其实这五个类就是去完成两件事情的,一件事情是连接,另 ...

随机推荐

  1. java荷兰国旗问题

    荷兰国旗包含三种颜色:红.白.蓝. 有三种颜色的球,算法的目标是将这三种球按颜色顺序正确地排列.它其实是三向切分快速排序的一种变种,在三向切分快速排序中,每次切分都将数组分成三个区间:小于切分元素.等 ...

  2. 【springboot读取配置文件】@ConfigurationProperties、@PropertySource和@Value

    概念: @ConfigurationProperties : 是springboot的注解,用于把主配置文件中配置属性设置到对于的Bean属性上 @PropertySource :是spring的注解 ...

  3. Github上优秀的.NET Core开源项目的集合

    内容包括:库.工具.框架.模板引擎.身份认证.数据库.ORM框架.图片处理.文本处理.机器学习.日志.代码分析.教程等. Github地址:https://github.com/jasonhua95/ ...

  4. 如何使用irealtime.js实现一个基于websocket的同步画板

    同步画板演示 同时打开2个tab,分别在画布上写下任意内容,观察演示结果,同时可设置画笔颜色及线条宽度.演示地址 初始化画布 <canvas id="drawBoard" w ...

  5. KMP算法,你想知道的都在这里!

    简洁 我相信很多人都听说过KMP算法(PS:在上数据结构的时候,这个算法自始至终都没想明白) 大家也知道KMP算法是用来寻找目标子串的算法,但是都没有真正搞懂KMP.之前,我也是如此,我疑惑的有: N ...

  6. sun公司和apache使用ftpclient的区别

    最近因为使用FTP实现上传下载,因为已经有前辈使用了,照着敲了一遍(绝对没有复制粘贴啊,发誓).但是今天突然发现FTPClient还不一样,仔细看了看,一个是sun.net.ftp.FtpClient ...

  7. 边缘计算k8s集群之SuperEdge

    什么是边缘计算? 边缘计算,是指在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务.应 ...

  8. 使用gitlab构建基于docker的持续集成(三)

    使用gitlab构建基于docker的持续集成(三) gitlab docker aspnetcore 持续集成 构建发布思路: aspnetcore 下的dockerfile编写 发布docker- ...

  9. Prometheus时序数据库-磁盘中的存储结构

    Prometheus时序数据库-磁盘中的存储结构 前言 之前的文章里,笔者详细描述了监控数据在Prometheus内存中的结构.而其在磁盘中的存储结构,也是非常有意思的,关于这部分内容,将在本篇文章进 ...

  10. Django 报错 Reverse for 'content' not found. 'content' is not a valid view function or pattern name.

    Django 报错 Reverse for 'content' not found. 'content' is not a valid view function or pattern name. 我 ...