但是使用postman或者直接使用浏览器就可以成功获取数据
应该是抓取数据网站做了限制,
解决方案:
既然浏览器可以访问成功,就带上所有浏览器的请求头访问
最后成功了
其实带上请求头就好了,
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
原因可以参考
https://www.jianshu.com/p/c5cf6a1967d1
postman是一款强大的接口测试工具,操作非常简单、方便!有Chrome插件、客户端两种形式,推荐使用客户端。在界面最左边的面板可以创建测试用例,并添加到测试用例集中,方便管理测试用例。在界面右边可以设置请求接口的请求方法、地址、参数,设置好后点击「send」按钮,发送请求,在右下方可以看到接口返回的信息。2.2.1设置环境变量点击右侧的设置按钮--->在manageenvironments窗口添加环境变量--->在使用处用"{{变量名}}"来表示。2.2.2批量执行选择要批量执行的文件夹--->点击小三角--->点击「Run」2.2.3结果校验使用JavaScript写结果校验脚本,右侧有
,呕心沥血,公司任务要求我编写。包括认识PostMan,PostMan 发送API请求,PostMan 集合操作,PostMan脚本编写,PostMan生成Api文档操作,PostMan Mock使用。
下载的人多了可能会被csdn自动涨分,我已经重新上传了很多次了。
写的api多了以后或者接手别人的项目之后,对api的运维也会比较多,特别是在测试环境,种种因素会导致接口出现不符合预期,这个时候当产品啊、测试啊,都跑过来骚扰你的时候,你的第一个反应是自己执行一下,看是不是真的接口有问题,然后再具体分析。通常是拼接好接口地址,构造好参数,然后请求api,看看返回结果。这类动作做多了之后通常比较烦人,特别是最后发现是接口ok的。
能够批量导入swagger能够自己构造测试接口能批量run能输出report最好能够alert
浏览器,Postman可以调通,开发工具调用接口超时"java.net.ConnectException: Connection timed out: connect"问题问题背景解决方法
本地使用VPN,在Postman,浏览器调用第三方接口成功,但在开发工具中调用第三方接口超时"java.net.ConnectException: Connection timed out: connect"。
报错如下:
java.net.ConnectException: Connection time
背景是需要调用谷歌地图API, 这里要开VPN的哈, 但效果是浏览器和Postman能直接正常访问,Java代码无法访问,提示“Connection timed out”。
文章目录一、出现问题的原因二、模拟浏览器访问三、以下代码出现:403参考资料
当用postman和浏览器访问的时候,能够正常获取数据,在代码调用接口的时候出现403和404错误。
一、出现问题的原因
根据访问的网站的管理员的提示,对访问的参数进行调整,模拟浏览器访问。
二、模拟浏览器访问
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net
在和第三方对接开发接口的时候,出现了一个问题,即使用Postman发送报文过去给对方,对方能够返回结果过来,但是使用代码发送报文过去,却返回500错误。首先排除不是调用地址的问题,然后再排除不是调用方式的问题(即post请求变为了get请求)。然后再看看是不是报文内容有所不同,但是在代码里面报文发送之前就已经有日志打印了,发现报文内容和Postman里面是一模一样,那问题到底出现在哪里呢?
找对方的人沟通,我代码发送请求给对方时,让他们看看他们收到的报文内容。结果傻眼了,用Post
http://www.bilibili.com/search?action=autolist&keyword=蜡笔小新
大家试一下 ,看看用oc能不能获取内容,电脑直接访问是能看到json数据的,但是oc不能获取到任何内容
如果可以用oc代码获取,请贴上代码
一次奔溃的经历
事情是这样的:第三方提供了一个接口需要对接,我就对接了,测试环节的时候怎么都调不通,各种排查,各方人员都动员了起来,就是没有找到问题,下面把问题报错的原因呈上:
就是报错 508 ,返回一个空的 Response body.
刚开始出现这个问题,我怀疑是不是我的代码哪里没有处理好呢?
检查了一遍没有发现什么问题。
返回 508 什么意思?
508 码表示服务器中断一个操作,因为它在处理具有“Depth: infinity”的请求时遇到了一个无限循环。508 码表示整个操作失败。
这个问题找了一个小时吧。。唉,有的问题其实都不是自己写的代码哪里有问题,最麻烦的是你不清楚到底是什么原因导致的。最终也是在gitee中找到了官方的答案。
大至意思就是,如果是自己添加的,则需要使用.permitAll()。具体原因我这里还没做研究,后面知道了再补充吧
希望能解决你的问题,然后继续敲代码。:)
实现需求的时候用OKhttp请求数据一直报服务器500错误,用postman请求也是这样,但是拼接后的网址放浏览器中却能得到json数据…后面代码,postman都换get请求也是失败,最后又排查了各种问题.没有结果问了后端大佬…
加上请求头Accept-Language:zh-CN,zh;q=0.9就可以了,这是置顶语言为中文的,以前都不知道有这东西,特记录一下
具体代码:.addHeader(...