java爬虫:在请求body中增加json数据采集
1,http://www.hqepay.com/public/expressquery.html
查询快递不是将键值对post过去,而是将json数据放到body中发送过去。抓包如下:

2,需要导入一些包,代码如下:
import java.io.UnsupportedEncodingException; import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils; public class Main { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub DefaultHttpClient client = new DefaultHttpClient();
String url = "http://www.hqepay.com/common/WebAdapter.aspx";
HttpPost request = new HttpPost(url);
request.addHeader("Accept", "application/json, text/javascript, */*; q=0.01");
request.addHeader("X-Requested-With","XMLHttpRequest");
request.addHeader("Referer", "http://www.hqepay.com/public/expressquery.html?ECode=ZJS&barNo=8466878151&lab=0");
request.addHeader("Host","www.hqepay.com");
String param = "{\"FunClassName\":\"HqewPay.ExpBLL.ExpOnlineOrderBLL\",\"FunMethodName\":\"IndexTraceInfo\",\"ParamClassName\":\"HqewPay.Express.ExpParam\",\"ParamType\":\"Entity\",\"ParamData\":\"{\\\"ExpNo\\\":\\\"8466878151\\\",\\\"ExpCode\\\":\\\"\\\",\\\"ExpName\\\":\\\"ZJS\\\",\\\"parentCode\\\":\\\"ZJS\\\"}\"}";
StringEntity se = new StringEntity(param);
request.setEntity(se);
HttpResponse httpResponse = client.execute(request);
String retSrc = EntityUtils.toString(httpResponse.getEntity());
System.out.println(retSrc); } }
java爬虫:在请求body中增加json数据采集的更多相关文章
- Java发送POST请求,参数为JSON格式,并接收返回JSON数据
原文地址:https://blog.csdn.net/qq_26975307/article/details/82713725 /** * 发送post请求 * @param url 路径 * @pa ...
- java执行post请求,并获取json结果组成想要的内容存放本地txt中
大概就是这样一个post 然后用户的需求是: 1.分析这个接口,实现1.1 获取到sentence, score字段值1.2 这个score值如果是<0.5,打印分值 情感倾向:0 ...
- 一个简单java爬虫爬取网页中邮箱并保存
此代码为一十分简单网络爬虫,仅供娱乐之用. java代码如下: package tool; import java.io.BufferedReader; import java.io.File; im ...
- java 发送post请求参数中含有+会转化为空格的问题
如题 原因分析:参数在传递过程中经历的几次编码和解码标准不同,导致加号.空格等字符的错误. 解决方案:将post请求的参数中 ,含有+号的,统统采用%2B 去替换,这是URL的协议问题.
- 如何在Swagger2或Swagger3中增加Json Web Token
1. 前言 Swagger 3.0已经发布有一段时间了,作为一个非常有用的文档工具已经越来越多的项目在使用它.而JWT也是目前前后端分离最常用的安全技术.那么如何在Swagger 3.0 中添加JWT ...
- JSON(五)——同步请求中使用JSON格式字符串进行交互(不太常见的用法)
在同步请求中使用JSON格式进行数据交互的场景并不多,同步请求是浏览器直接与服务器进行数据交互的大多是用jsp的标签jstl和el表达式对请求中的数据进行数据的渲染.我也是在一次开发中要从其它服务器提 ...
- vue-cli项目 build后请求本地static文件中的 json数据,路径不对,报错404处理方法
vue-cli 项目 build 出错点: 1,build生成dist 放在tomcat上 报错,不显示内容 解决办法: config>index.js===>assetsPublic ...
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,load ...
- Json学习总结(1)——Java和JavaScript中使用Json方法大全
摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语 ...
随机推荐
- sql server2008根据经纬度计算两点之间的距离
--通过经纬度计算两点之间的距离 create FUNCTION [dbo].[fnGetDistanceNew] --LatBegin 开始经度 --LngBegin 开始维度 --29.49029 ...
- java多线程wait notify join
wait notify 几个注意点: wait 与 notify/notifyAll 方法必须在同步代码块中使用,即要先对调用对象加锁. 当线程执行wait()时,会把当前的锁释放,然后让出CPU,进 ...
- 值得推荐的C/C++框架和库
值得推荐的C/C++框架和库 [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看 ...
- java模拟浏览器上传文件
public static void main(String[] args) { String str = uploadFile("C:/Users/RGKY/Desktop/wKgBHVb ...
- iOS 版本号大小比较
NSString *num1 = @"5.2.0"; NSString *num2 = @"5.3.0"; if ([num1 compare:num2 ...
- LINUX 6.x 内核升级全过程
1. 准备工作 确认内核及版本信息 [root@hostname ~]# uname -r 2.6.32-220.el6.x86_64 [root@hostname ~]# cat /etc/cent ...
- 51nod1135(求最小原根)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1135 题意:中文题诶- 思路:设m是正整数,a是整数,若a模 ...
- 扩展方法 1 简单的string扩展方法
这里是关于 String的简单扩展方法 (静态类 静态方法 this 类型 这里是string) static class Program { static void Main(string[] ar ...
- yii2 关联查询,分页设置
1.MODEL 如关联user table public function getUser(){ return$this->hasOne(User::className(),['i ...
- [转]js实现各种进制的转换
关键点: parseInt(string, radix).toString(target_radix); 参考:http://www.cnblogs.com/guowei1027/archive/20 ...