url

通过url从图片服务器下载图片到浏览器(图片下载)下载图片而不是打开图片

自闭症网瘾萝莉.ら 提交于 2020-01-20 21:25:45
一、需求:平时写图片下载功能,只需要前台页面写download标签就可以实现图片的下载,本次项目遇到的问题是,由于搭建了图片服务器,请求图片URL的时候获取不到请求头,浏览器无法识别图片是文件,导致点击下载,浏览器会打开图片 二、解决:既然浏览器获取不到请求头,考虑到的最简单的解决方式是通过后台下载,向图片服务器发送请求头      考虑到下载图片使用频繁,所以把下载图片封装为通用方法,代码如下:      实现步骤:1.前台向后台发送图片url           2.通过url获取图片流           3.设置输出头           4.把图片输出到浏览器(不是写死图片地址)                1 /** 2 * 图片下载 3 * @param fileUrl 4 * @param response 5 */ 6 @ApiOperation(value = "|uploadQianURL|图片下载") 7 @GetMapping("/uploadQianURL") 8 public void uploadQianURL(String fileUrl,HttpServletResponse response) { 9 10 fileUrl = fileUrl.replace("\\", "/"); 11 //获取文件名,文件名实际上在URL中可以找到 12

(30)java中的网络编程

自古美人都是妖i 提交于 2020-01-20 19:06:44
网络编程的概述 网络通信协议 1,网络编程的目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯 2,网络编程中有两个主要的问题: ①,如何准确地定位网络上一台或多台主机,定位主机上的特定的应用 ②,找到主机后如何可靠高效地进行数据传输 3,通信要素一:IP和端口号 ①,IP:唯一的标识Internet上的计算机(通信实体) ②,在Java中使用InetAddress类代表IP ③,IP分类:IPV4和IPV6;万维网和局域网 IP地址的分类方式 IP地址分类方式1 : IPV4 和 IPV6 IPV4 :4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已 经用尽。以点分十进制表示,如192.168.0.1 IPV6 :128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示, 数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984 IP地址分类方式2 : 公网地址( 万维网使用)和 私有地址( 局域网使用) 。192.168. 开头的就是私有址址,范围即为192.168.0.0–192.168.255.255,专门为组织机 构内部使用 端口分类 : 公认端口 :0~1023。被预先定义的服务通信占用(如HTTP占用端口80) 注册端口 :1024~49151

判断网址是否为效的apk下载地址

帅比萌擦擦* 提交于 2020-01-20 19:03:13
前景 抓住两个点, 有效的 和 APK下载 。 正常的判断一个url是否有效 解决这个的思路很简单,就是判断建立的HttpURLConnection的返回的HttpCode是否为200。 url带有重定向的情况 如果你提供的网址存在了一个重定向的情况,比如 ,服务器为了安全起见 ,买了SSL证书,以前的http请全部都要走https,这之后肯定就要把http上面做一个https的映射。 实例说明:在浏览器中发送了一个获取apk的资源 url是否是一个有效apk的下载地址 /** * 判断地址是否有效的apk下载地址 * @param apkUrl apk下载的地址 * @return 是否可下载 */ public static boolean urlIsValidForApk ( String apkUrl ) { try { URL url = new URL ( apkUrl ) ; HttpURLConnection connection = ( HttpURLConnection ) url . openConnection ( ) ; int reponseCode = connection . getResponseCode ( ) ; String contentType = connection . getContentType ( ) ; if (

What is the alphanumeric id in a reddit URL?

╄→гoц情女王★ 提交于 2020-01-20 18:40:12
问题 What is the 7n5lu in the reddit URL http://www.reddit.com/r/reddit.com/comments/7n5lu/man_can_fly_if_you_watch_one_video_in_2 ...and how is it generated? Update: @Gerald, I initially thought this is some obfuscation of the id. It is just doing the conversion from integer to a more compact representation. I am thinking, why is this being done? why not use the original integer itself!! >>> to36(4000) '334' >>> to36(4001) '335' 回答1: The reddit source code is available! Here is what I found for

What is the alphanumeric id in a reddit URL?

心已入冬 提交于 2020-01-20 18:40:02
问题 What is the 7n5lu in the reddit URL http://www.reddit.com/r/reddit.com/comments/7n5lu/man_can_fly_if_you_watch_one_video_in_2 ...and how is it generated? Update: @Gerald, I initially thought this is some obfuscation of the id. It is just doing the conversion from integer to a more compact representation. I am thinking, why is this being done? why not use the original integer itself!! >>> to36(4000) '334' >>> to36(4001) '335' 回答1: The reddit source code is available! Here is what I found for

request请求之get

本秂侑毒 提交于 2020-01-20 16:35:20
import requests import urllib3 urllib3.disable_warnings() 忽略警告 url = "url" h = { "Cookie" : "cookie" } r = request.get(url,headers=h,verify=False) 不去校验证书 print(r.status_code) 状态码 print(r.headers) 请求头部 print(r.text) 响应正文 print(r.content) 也是响应正文,可以自动解码 print(r.url) 若重定向,则是最后一个地址 print(r.cookies) 获取返回的cookie print(r.json()) json解码器,json转换成python字典 来源: https://www.cnblogs.com/daxiaxiuxian/p/12218205.html

Get和Post请求方式的区别

倾然丶 夕夏残阳落幕 提交于 2020-01-20 12:45:07
关于HTTP请求,GET方式和POST方式有什么区别呢? 这一点在面试中也经常会遇到,具体如下。 (1)提交数据的方式不同 GET 请求的数据会附在URL之后(即把数据放置在HTTP协议头<requestline>中),以“?”(英文问号)分隔URL和传输数据,多个参数用“&”连接,如login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD(某个URL的其中一部分)。如果数据是英文字母、数字,则直接发送;如果是空格,则转换为“+”后发送;如果是中文、其他字符,则会用Base64加密字符串,得出“%E4%BD%A0%E5%A5%BD”后发送。 POST 把提交的数据放置在HTTP包的请求体<request-body>中。 因此,使用GET方式提交的数据会在地址栏中显示出来,而使用POST方式提交的数据不会在地址栏中显示。 (2)传输数据的大小不同 虽然HTTP没有对传输的数据大小进行限制,HTTP规范也没有对URL的长度进行限制,但是在实际开发中还会存在一些限制。 GET 特定浏览器和服务器对URL的长度有限制,如IE对URL长度的限制是2 083Byte。其他浏览器,如FireFox,其限制取决于操作系统。因此,使用GET方式提交时,传输的数据就会受到URL长度的限制。 POST

PHP HTTP请求

大城市里の小女人 提交于 2020-01-20 12:33:30
1、GET 请求 请求参数以键值对的方式,附加到url地址上,称为查询字符串,用?号与当前脚本(PHP脚本)分隔 url格式: index.php?name=peter&age=30 受url长度限制, GET方式传递的数据也是有限制的 服务器端脚本使用 预定义变量数组 $_GET 进行接收 注:value用三元运算符的意思是,输入值后并且提交表单后,方框里面的值还在。如果value值为空,则方框不显示也为空(读者请忽略) 关于 GET 的注释: form获取input的输入的值,将表单数据以名称/值对的形式附加到 URL 中 URL 的长度是有限的(大约 3000 字符) 绝不要使用 GET 来发送敏感数据! · 对于用户希望加入书签的表单提交很有用 GET 更适用于非安全数据,比如在 Google 中查询字符串 2、POST 请求 请求参数放在header请求头中发送, url地址看不到请求参数,适合敏感信息 通常是通过表单提交并, 用来更新服务器上的信息 适合发送大量的数据到服务器端, 长度受到配置文件限制,但比GET要大得多 服务器端脚本使用 预定义变量数组 $_POST 进行接收 关于 POST 的注释: 将表单数据附加到 HTTP 请求的 body 内 (数据不显示在 URL 中) 没有长度限制 通过 POST 提交的表单不能加入书签 3、表单 method属性

RESTful API 架构解读

北城以北 提交于 2020-01-20 10:26:46
RESTful API 架构解读 首先我们还是先介绍下 RESTful api 的来龙去脉。 首先, RESTful (下文都简称 RESTful api 为 RESTful ) 1、RESTful 这个概念最早是在 2000年 Roy Thomas Fielding 博士在他的博士论文《Architectural Styles and the Design of Network-based Software Architectures》 中提出了几种软件应用的架构风格,REST作为其中的一种架构风格在这篇论文的第5章中进行了概括性的介绍。 (其实我很好奇,为何国内的开发者们没能做出这些 标准通用级别的 规范) 这里 我们需要理解的就是 RESTful 它不是一种 类似于 http/https 的规范,而是一种 web 的架构。 而 RESTful 架构风格主要包含了 1)采用 URI 标识资源 2)用 '链接' 关联相关的资源 3)使用标准的 http 方法 4)支持多种资源表示方式 5)无状态性 接下来,就用着五点 继续往下介绍。 一、采用 URI 标识资源 首先 标识资源 中的 资源 指的是什么? 在任何 在客户端能够访问到的 任何形式(图片、文字、音频、视频等)的 事物均可以理解为资源。 同时, 存储在数据库中的数据也可以理解为资源。 并且 通过 uri 标识以后

java之网络爬虫介绍(非原创)

吃可爱长大的小学妹 提交于 2020-01-20 08:57:13
文章大纲 一、网络爬虫基本介绍 二、java常见爬虫框架介绍 三、WebCollector实战 四、项目源码下载 五、参考文章 一、网络爬虫基本介绍 1. 什么是网络爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 2. 常见问题介绍 爬虫可以爬取ajax信息么?   网页上有一些异步加载的数据,爬取这些数据有两种方法:使用模拟浏览器(问题1中描述过了),或者分析ajax的http请求,自己生成ajax请求的url,获取返回的数据。如果是自己生成ajax请求,使用开源爬虫的意义在哪里?其实是要用开源爬虫的线程池和URL管理功能(比如断点爬取)。   如果我已经可以生成我所需要的ajax请求(列表),如何用这些爬虫来对这些请求进行爬取?   爬虫往往都是设计成广度遍历或者深度遍历的模式,去遍历静态或者动态页面。爬取ajax信息属于deep web(深网)的范畴,虽然大多数爬虫都不直接支持。但是也可以通过一些方法来完成。比如WebCollector使用广度遍历来遍历网站。爬虫的第一轮爬取就是爬取种子集合(seeds)中的所有url。简单来说,就是将生成的ajax请求作为种子,放入爬虫。用爬虫对这些种子,进行深度为1的广度遍历