zoukankan      html  css  js  c++  java
  • HttpClient request payload post请求

    RequestEntity entity = new StringRequestEntity(str, "text/html", "utf-8");
    		post.setRequestEntity(entity);
    

      

    最近在做一些爬虫相关的工作,遇到了一个网站,在使用谷歌开发者工具监控的时候,发现他的请求是这样的

    我们都知道传统的post请求,所提交的是form data 格式的,key-value键值对的形式提交。这个在爬虫post请求中非常常见。

    第一次遇到了这种形式提交的,后面去找了很多方法,发现在百度搜的答案都用不了,后面翻墙去了stackoverflow,这边贴上地址

    http://stackoverflow.com/questions/22671897/httpclient-httppost-and-payload

    所给的答案我也用不了。

    于是去认真研究了一下,发现他所提交的post流,不是传统的key-value模型的数据,而是post一段json文字

    仔细查看了HttpClient的一些相关的API后,找到了答案

    这边贴上我的小Demo,Demo是用来抓取某个城市的公积金数据的,这边隐藏去账号密码

    RequestEntity entity = new StringRequestEntity(str, "text/html", "utf-8");
    		post.setRequestEntity(entity);
    

      

    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.methods.RequestEntity;
    import org.apache.commons.httpclient.methods.StringRequestEntity;
    

      

  • 相关阅读:
    PHP格式化时间戳函数分享
    The Mac App Store isn't working. How to fix?
    sqlite+ef+powertools
    部署node api的二三事
    node 写api几个简单的问题
    基于项目的简单的代码生成器
    h5跳转到app的实现
    几种常用的git命令
    发送post请求几种常见content-type类型
    cors(Cross-origin resource sharing)跨域资源共享
  • 原文地址:https://www.cnblogs.com/zeze/p/7442576.html
Copyright © 2011-2022 走看看