post请求

Http的get和post请求

眉间皱痕 提交于 2019-12-20 08:58:09
HttpClient只能以编程的方式通过其API用于传输和接受HTTP消息 参考地址:https://blog.csdn.net/justry_deng/article/details/81042379 通过如下3步来访问HTTP资源 1.创建HttpGet或HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。 2.使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST请求,并返回HttpResponse对象。 3.通过HttpResponse接口的getEntity方法返回响应信息,并进行相应的处理。 get ,第一种添加带参数请求方式 //第(1)种添加参数的形式 uriBuilder.addParameter("RECORD_ID", "322019112600000358"); //** 第(2)种添加参数的形式 *//* /*List<NameValuePair> list = new LinkedList<>(); BasicNameValuePair param1 = new BasicNameValuePair("RECORD_ID", "322019112900000365"); list.add(param1); HttpRequestUtils.httpGet_Params(

python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)

本秂侑毒 提交于 2019-12-20 01:15:04
原创文章,转载请注明出处! 操作环境: python3 在上一文中 python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(1) 我们已经介绍了用Requests库来登录知乎,本文如果看不懂可以先看之前的文章便于理解 本文将介绍如何用scrapy来登录知乎。 不多说,直接上代码: import scrapy import re import json class ZhihuSpider(scrapy.Spider): name = 'zhihu' allowed_domains = ['www.zhihu.com'] start_urls = ['https://www.zhihu.com/'] headers = { 'HOST': 'www.zhihu.com', 'Referer': 'https://www.zhihu.com', 'User-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8', } def parse(self, response): pass def parse_detail(self, response): # 爬取文章细节

Http 工具类

眉间皱痕 提交于 2019-12-20 00:24:30
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import javax.net.ssl.SSLContext; import javax

SpringMVC实现PUT请求上传文件

坚强是说给别人听的谎言 提交于 2019-12-19 23:33:38
在JQuery中,我们可以进行REST ful中delete和put的请求,但是在java EE标准中,默认只有在POST请求的时候,servlet 才会通过getparameter()方法取得请求体中的相应的请求参数的数据。而PUT,delete请求的请求体中数据则默认不会被解析。 关于delete请求:delete请求用来从服务器上删除资源。因此我们只需要把要删除的资源的ID上传给服务器,即使是批量删除的时候,也可以通过URL传参的方式将多个id传给servlet,因此,可以满足我们的需求,可以直接发送请求。 关于put请求(指的是带有请求体) 没有文件时:SpringMVC提供了一个将post转换为put和delete的方法,通过在web.xml中注册一个HiddenHttpMethodFilter过滤器。 上传文件时:我们可以通过在web.xml中注册一个MultipartFilter, 一定要在HiddenHttpMethodFilter之前 。 SpringMVC实现PUT,DELETE请求 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>

javascript Ajax 学习

无人久伴 提交于 2019-12-19 09:53:02
前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!    AJAX 是 asynchronousjavascript and XML 的简写,就是异步的 javascript 和 XML 。这一技术能够向服务器请求额外的数据而无须刷新整个页面,会带来更好的用户体验。虽然名字中包含 XML ,但是 ajax 通信与数据格式无关。 创建对象   因为 XMLHTTPRequest() 是一个构造函数,所以需要实例化一个 XMLHttpRequset 对象。下面是创建 XHR 对象的兼容写法;   如果要建立多个不同的请求,就要实例化多个不同的 XMLHttpRequset 对象; var xhr; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject('Microsoft.XMLHTTP'); } 发送请求   要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法。 open()    open() 方法需要三个参数: xhr.open("GET","test.json",true);   第一个参数定义发送请求所使用的方法( GET 还是 POST ),不区分大小写,但通常使用大写字母,记得带引号。

ElasticSearch笔记整理(二):CURL操作、ES插件、集群安装与核心概念

戏子无情 提交于 2019-12-18 15:28:44
[TOC] CURL操作 CURL简介 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。 curl -X 指定http的请求方法 有HEAD GET POST PUT DELETE -d 指定要传输的数据 -H 指定http请求头信息 curl创建索引库 curl -XPUT http://<ip>:9200/index_name/ PUT或POST都可以创建 举例: curl -XPUT 'http://localhost:9200/bigdata' CURL操作(一):索引库创建与查询 创建一个索引库: curl -XPUT http://uplooking01:9200/bigdata 返回值{"acknowledged":"true"} 查看一个索引库信息: curl -XGET http://uplooking01:9200/bigdata 返回值一个json字符串 如果想要格式良好的结果 curl -XGET http://uplooking01:9200/bigdata?pretty 在索引库中添加若干索引信息: curl -XPOST http://uplooking01:9200

js加密数据爬取

拟墨画扇 提交于 2019-12-18 13:21:09
- 中国空气质量在线监测分析平台是一个收录全国各大城市天气数据的网站,包括温度、湿度、PM 2.5、AQI 等数据,链接为:https://www.aqistudy.cn/html/city_detail.html,网站显示为: 该网站所有的空气质量数据都是基于图表进行显示的,并且都是出发鼠标滑动或者点动后才会显示某点的数据,所以如果基于selenium进行数据爬取也是挺吃力的,因此我们采用requests模块进行数据爬取。 - 基于抓包工具展开分析:   - 通过分析发现,只有在页面中设置了查询的城市名称和时间范围后,然后点击查询按钮,在抓包工具中才会捕获到一个ajax请求的数据包,我们想要爬取的数据也在该数据包中:      然后点击捕获到的数据包后,发现当前ajax请求为post类型的请求,携带一个请求参数d,且该请求参数为加密之后的数据,并且响应中的响应数据也是经过加密后的密文数据。    加密的请求参数:       加密的响应数据:    - 问题:那么如果我们想要将空气质量数据进行爬取,则需要对上述捕获到的ajax数据包中的post请求对应的url携带请求参数进行请求发送,然后获取对应的响应数据。但是请求参数是加密后的密文,响应数据也是加密后的密文。并且post请求参数对应的密文每次请求都是动态变化的,我们如何设置?就算能够破解动态且加密的请求参数

JAVA POST请求远程HTTP接口

馋奶兔 提交于 2019-12-18 04:35:23
package com.oemp.common; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * @author Post Method */ public class HttpPostUrl { /** * 向指定URL发送POST请求 * @param url * @param paramMap * @return 响应结果 */ public static String sendPost(String url, Map<String, String> paramMap) { PrintWriter out = null; BufferedReader in = null;

Python开发【Django】:中间件、CSRF

爷,独闯天下 提交于 2019-12-17 18:17:41
CSRF 1、概述   CSRF(Cross Site Request Forgery)跨站点伪造请求,举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用户点击这个恶意网站上的那个链接时,就会向你的网站发来一个请求,你的网站会以为这个请求是用户自己发来的,其实呢,这个请求是那个恶意网站伪造的。   为了避免上面情况的出现,Django引用了CSRF防护机制;Django第一次响应来自某个客户端的请求时,会在服务器端随机生成一个 token,并把这个 token 放在 cookie 里。然后每次 POST 请求都会带上这个 token,这样就能避免被 CSRF 攻击。如果POST请求中没有token随机字符串,则返回403拒绝服务 在返回的 HTTP 响应的 cookie 里,django 会为你添加一个 csrftoken 字段,其值为一个自动生成的 token 在所有的 POST 表单时,必须包含一个 csrfmiddlewaretoken 字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 在处理 POST 请求之前,django 会验证这个请求的 cookie 里的 csrftoken 字段的值和提交的表单里的 csrfmiddlewaretoken 字段的值是否一样。如果一样

Java实现HttpClient发送GET、POST请求(https、http)

允我心安 提交于 2019-12-17 07:21:36
1、引入相关依赖包 jar包下载: httpcore4.5.5.jar fastjson-1.2.47.jar maven: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> 2、主要类HttpClientService 1 package com.sinotn.service; 2 3 import com.alibaba.fastjson.JSONObject; 4 import org.apache.http.HttpEntity; 5 import org.apache.http.NameValuePair; 6 import org.apache.http.client.entity.UrlEncodedFormEntity; 7 import org.apache.http.client.methods