java网络方面
文章平均质量分 74
YHJ
你有找到为之奋不顾身的事吗?
展开
-
Socket和Http之间的区别和概述
推荐必看:https://blog.csdn.net/persistencegoing/article/details/84376427socket和http的区别:Http协议:简单的对象访问协议,对应于应用层。Http协议是基于TCP链接的。tcp协议:对应于传输层ip协议:对应与网络层TCP/IP是传输层协议,主要解决数据如何在网络中传输;而Http是应用层协议,主要解决如何包装数据。Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),.转载 2021-06-11 21:28:21 · 9925 阅读 · 0 评论 -
反爬技术
https://blog.csdn.net/persistencegoing/article/details/84376427反爬虫的技术大概分为四个种类:传统反爬虫手段1、后台对访问进行统计,如果单个IP访问超过阈值,予以封锁。这个虽然效果还不错,但是其实有两个缺陷,一个是非常容易误伤普通用户,另一个就是,IP其实不值钱,几十块钱甚至有可能买到几十万个IP。所以总体来说是比较亏的。不过针对三月份呢爬虫,这点还是非常有用的。2、后台对访问进行统计,如果单个session访问...转载 2021-06-11 21:26:33 · 4839 阅读 · 2 评论 -
httpclient获取和设置cookie
第一篇httpclient获取和设置cookiepublic static void main(String[] args) { CookieStore cookieStore = new BasicCookieStore(); CloseableHttpClient httpClient = HttpClients.custom() .setDefaultCookieStore(cookieStore) .build(); ..转载 2021-06-06 22:20:34 · 13010 阅读 · 0 评论 -
Java Web如何操作Cookie的添加修改和删除
一、Cookie是什么Cookie是服务器存放在客户端浏览器上的一些小数据,可以使用Cookie完成与服务器的一些交互动作。服务器可以通过HTTP响应头将Cookie发送给浏览器,而浏览器如果支持存储Cookie,则将HTTP响应头信息中的Cookie内容存放到浏览器中。当浏览器请求访问一个网站时,如果这个网站在此浏览器中存放有Cookie内容,浏览器会将Cookie内容附加到HTTP请求头信息中发送给服务器。鉴于此,Cookie存放的内容是不宜过多的,一般浏览器也是这样规定的。浏览器应该支持每台转载 2021-06-06 22:09:15 · 3628 阅读 · 1 评论 -
HttpClient可以直接请求https,为何要绕过ssl证书验证?
本程序使用的HttpClient版本:httpclient4.5.2一个有意思的现象,看下面这段获取百度首页代码的HttpClient请求:importjava.io.IOException;importorg.apache.http.HttpEntity;importorg.apache.http.client.methods.CloseableHttpResponse;importorg.apache.http.client.methods.HttpGet;im...转载 2021-06-06 20:12:36 · 5410 阅读 · 0 评论 -
轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https
上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下。在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章《Tomcat配置SSL》,大家可以据此来在本地配置https。我已经配置好了,效果是这样滴:可以看到已经信任该证书(显示浅绿色小锁),浏览器可以正常访问。现在我们用代码测试一下: public static void main(String[] args) throws ParseException, IOExce转载 2021-06-06 20:08:03 · 4365 阅读 · 0 评论 -
hutool-Http请求-HttpRequest
官方文档介绍本质上,HttpUtil中的get和post工具方法都是HttpRequest对象的封装,因此如果想更加灵活操作Http请求,可以使用HttpRequest。使用普通表单我们以POST请求为例://链式构建请求String result2 = HttpRequest.post(url) .header(Header.USER_AGENT, "Hutool http")//头信息,多个头信息多次调用此方法即可 .form(paramMap)//表单内容转载 2021-06-06 20:02:37 · 36491 阅读 · 0 评论 -
HttpClient发送Post请求————StringEntity 和 UrlEncodedFormEntity 的区别
1.StringEntity首先说StringEntityStringEntity extends AbstractHttpEntity implements Cloneable继承于AbstractHttpEntity类,这个类做参数的时候设置比较灵活,通过类的构造方法可以看到有两个参数,一个是具体的参数值(string串),另一个是ContentType,通过重写的构造方法看到,当不指定ContentType时默认的ContentType是text/plain,具体看下图构造方法:默认通.转载 2021-06-06 19:33:02 · 3735 阅读 · 0 评论 -
HttpClient---NameValuePair参数问题
HttpClient程序包是一个实现了 HTTP 协议的客户端编程工具包,要想熟练的掌握它,必须熟悉 HTTP协议。一个最简单的调用如下:importjava.io.IOException;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;im...转载 2021-06-06 19:23:08 · 1440 阅读 · 0 评论 -
HTTP客户端连接,选择HttpClient还是OkHttp?
写在前面为什么会写这篇文章,起因于和朋友的聊天这又触及到我的知识盲区了,首先来一波面向百度学习,直接根据关键字httpclient和okhttp的区别、性能比较进行搜索,没有找到想要的答案,于是就去overstackflow上看看是不是有人问过这个问题,果然不会让你失望的所以从使用、性能、超时配置方面进行比较使用HttpClient和OkHttp一般用于调用其它服务,一般服务暴露出来的接口都为http,http常用请求类型就为GET、PUT、POST和DELETE,因此主要介绍这转载 2021-06-06 13:44:17 · 2413 阅读 · 2 评论 -
OKHttp使用拦截器(Interceptor)POST与GET方法,统一封装传公共参数
我们在使用retrofit联网开发的过程中,会遇到API每一次请求数据都会带有相同的公共参数。例如:用户ID : 1111111 设备唯一ID:132131290 客户端版本号:2.3.0 等一些参数……然而,我们请求有post与get两种方式,我再百度的过程中基本都是用的get请求方式,可能大多都是为了测试方便。一般开发过程中我还是建议用post来请求数据。在这儿我们就多扯一点两者的区别。GET:GET请求的数据会附再URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输转载 2021-06-06 13:41:20 · 1831 阅读 · 0 评论 -
linux curl命令来路伪装(referer)和浏览器伪装(user-agent)
一般的知名站点,都有一套比较完善的机器流量检测系统;它通过流量的IP、流量的来源、使用的浏览设备、访问频次、用户行为等综合分析,来判断当前流量是真实的用户流量,还是机器在爬网站的数据,从而做出是否封禁当前流量的决定。第三方统计站点,也是使用此原理来帮助站长统计用户行文的。 而其中的流量来源、使用的浏览设备、甚至流量的IP都是可以伪造的。本文为介绍curl伪装访问来源、和伪装使用的浏览器的方法。伪装来路IP地址,请参考“linux curl命令使用代理服务器”。一、原理说明: 浏览器与http服务.转载 2021-06-06 09:48:10 · 4723 阅读 · 0 评论 -
Http Headers各属性的作用
Request Headers:下图是我访问一个URL:http://www.hzau.edu.cn的一个header,根据具体实例来分析一下各部分的功能及其作用。Accept作用: 浏览器端可以接受的媒体类型,例如: Accept: text/html 代表浏览器可以接受服务器回发的类型为 text/html 也就是我们常说的html文档,如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)通配符 * 代表任意类型例.转载 2021-06-06 09:46:20 · 311 阅读 · 0 评论 -
使用JDK原生api进行网络请求并比较
使用原生API发送Get请求package cn.itcast.spider; import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL; /** 使用JDK的api进行get请求 1.在使用httpurlconnection时,默认就是get.转载 2021-06-06 09:38:57 · 305 阅读 · 0 评论 -
对外开放的接口验证方式
接口安全问题请求身份是否合法? 请求参数是否被篡改? 请求是否唯一?AccessKey&SecretKey (开放平台)请求身份为开发者分配AccessKey(开发者标识,确保唯一)和SecretKey(用于接口加密,确保不易被穷举,生成算法不易被猜测)。防止篡改参数签名按照请求参数名的字母升序排列非空请求参数(包含AccessKey),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA; 在stringA最转载 2021-05-19 22:36:58 · 1639 阅读 · 0 评论 -
HTTP报文格式详解
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。HTTP请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。or<request-line><headers><blank line>[<request-body>1.请求头请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成.转载 2021-05-11 07:39:53 · 1104 阅读 · 0 评论 -
网络协议分层及报文格式大全
<html lang="zh-cn" xml:lang="zh-cn"><head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"><meta name="Keywords" content="报文格式,报文格式大全,报文协议...转载 2021-05-11 07:31:25 · 476 阅读 · 0 评论 -
HttpClient完整使用示例
HttpClient完整使用示例1 前言 2 示例说明 3 创建HttpClient客户端工程 3.1 版本说明 3.2 创建项目 4 创建HttpClientService服务端工程 4.1 版本说明 4.2 创建项目 5 测试 1 启动HttpClientService服务端工程 2 测试使用HttpClient发送Get请求 3 测试使用HttpClient发送Post请求 4 测试CookieStore的作用 6 总结1 前言.转载 2021-05-10 23:12:33 · 3094 阅读 · 0 评论 -
HttpClient用法--这一篇全了解(内含例子)
HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅使客户端发送Http请求变得容易,而且也方便开发人员测试接口(基于Http协议的),提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。org.apache.commons.httpclient.HttpClient与org.apache.http.client.HttpClient的区别Commo转载 2021-05-10 23:06:47 · 896 阅读 · 0 评论