精华内容
下载资源
问答
  • 2019-03-13 17:34:34

    记一次http下载0KB问题的解决

    最近在写C#,.net的一个下载程序,用到了网络下载(其他语言也别一下就走开,问题和解题思路是相同的,不妨花2min看一下)。发现一个问题:
    某个链接,明明是下载地址,比如有人给我反馈这个链接 http://wowui.178.com/down/337/13178/Outfitter-5.22_.1_.zip,
    无法下载。而在页面上的按钮,点击就可以下载?!

    对于.net的下载方法,主要有2个,一个是WebClient,一个是HttpWebRequest。
    而HttpWebRequest其实各个其他语言平台都存在的标准的http请求方式,可以给他的对象进行设置Accept,Cookies,Refer等等。
    首先想到的是,自己手里的下载方法不够强大,于是github和baidu都找了很多框架和helper类,未果;
    经过1天的挣扎,发现一个现象,复制该链接到浏览器的网址搜索栏中回车,也是跳转了网页,并没有直接弹出下载;而点击页面中下载按钮就是直接下载!并且通过查看元素代码,并没有做什么额外的js解析,变换下载什么的。
    接下来,关键的,通过浏览器的开发者工具,network页面。
    当我复制到搜索栏的时候,出现如下2张图的标头:
    在这里插入图片描述
    在这里插入图片描述

    而且当我们点击下载按钮的时候,出现如下标头(其实也跟上面一样有2张,还有一张跟上面一样是错误的,这里就不贴上来了):
    在这里插入图片描述
    可以看到,错误的请求,跟正确的下载请求标头的差异是只有一个:
    Refer没有配置!
    于是修改代码尝试(逐个逐个额外添加):

            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.Accept = "*/*";//添加Accept
            request.UserAgent = @"User - Agent: Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 64.0.3282.140 Safari / 537.36 Edge / 17.17134"; //添加UA
            request.CookieContainer = new CookieContainer(); //添加cookies
            if(refer != null) request.Referer = refer; //添加refer
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            Stream responseStream = response.GetResponseStream();
            ...
    

    所以,总结来说,当我们使用http下载的时候,需要注意几个点:

    1. 我们经常需要给请求,添加UA或者Cookies,否则容易被当做爬虫而拒绝;
    2. Accept在某种特定可能有问题;
    3. 像这种特殊的下载失败0KB问题或者一些crash Exception,我们需要进一步分析跟浏览器的请求差异,分析差别在哪里。找出原因。
    更多相关内容
  • 安装 VS2022一直显示0KB 解决方案

    千次阅读 多人点赞 2021-11-03 19:42:35
    安装 VS 2022 一直显示0KB, 遇到这种情况,只需要修改一下DNS 就可以 1.进入 “控制面板” - >“网络和Internet” -> “网络连接” 右键属性 2.首先需要禁用 IPv6 3.配置DNS 双击“Internet 协议版本 4...

    安装 VS 2022 一直显示0KB, 遇到这种情况,只需要修改一下DNS 就可以

    1.进入 “控制面板” - >“网络和Internet” -> “网络连接” 右键属性
    安装 VS2022一直显示0KB 解决方案

    2.首先需要禁用 IPv6
    安装 VS2022一直显示0KB 解决方案
    3.配置DNS
    双击“Internet 协议版本 4(IPv4)”,改成如下图所示即可
    安装 VS2022一直显示0KB 解决方案

    安装 VS2022一直显示0KB 解决方案

    展开全文
  • !... !... 如上两图所示,这是两种方式,从URL中下载pdf。但是有一个很奇怪的现象,我直接调用...就经常会下载0k的pdf文件,不报错,也会有正常的时候,不知问题在哪,URL可以直接点击,浏览器访问会直接下载正常的pdf
  • 最终,注意如果设置UTF-8的朋友出现下载文件为0KB的情况,就把编码设置为下面的格式 完整代码 public static void downloadFtpFile(String ftpHost, String ftpUserName, String ftpPassword, int ftp...

    话不多说,记记记

    首先是上传

    path = new String(path.getBytes("GBK"),"iso-8859-1");//上传路径中文转码
    //连接就不贴出来了
    if (!ftp.changeWorkingDirectory(defaultBaseDir)){
        //注意服务器上的文件路径,如果多/会出现返回为空问题
        ftp.changeWorkingDirectory(defaultBaseDir);
    }
    //视情况加,有时候开被动连接会出现连接超时
    //ftpClient.enterLocalPassiveMode(); 
    //设置上传文件的类型为二进制类型
    ftp.setFileType(FTP.BINARY_FILE_TYPE);
    // 设置文件名字的编码格式为iso-8859-1,因为FTP上传的时候默认编码为iso-8859-1,解决文件名字乱码的问题
    filename = new String(filename.getBytes("UTF-8"), "iso-8859-1");
    //上传文件
    if (!ftp.storeFile(filename, input)) {
    		return result;
    }
    				

    完整代码,我上传的是流

    public static boolean uploadFilesss(String filename, InputStream input) {
    		boolean result=false;
    		FTPClient ftp = new FTPClient();
    		int reply;
    		try {
    			//中文路径
    			//path = new String(path.getBytes("GBK"),"iso-8859-1");
    			ftp.connect(V2Config.getIp(), V2Config.getPort());
    			ftp.login(V2Config.getUsername(), V2Config.getPassword());
    			System.out.println(V2Config.getIp()+" "+V2Config.getPort()+""+V2Config.getUsername()+""+V2Config.getPassword());
    			reply = ftp.getReplyCode();
    			if (!FTPReply.isPositiveCompletion(reply)) {
    				ftp.disconnect();
    				return false;
    			}
    			//切换到上传目录
    			if (!ftp.changeWorkingDirectory(defaultBaseDir))
    				ftp.changeWorkingDirectory(defaultBaseDir);
    			//设置上传文件的类型为二进制类型
    			System.out.println(ftp.printWorkingDirectory());
    			ftp.setFileType(FTP.BINARY_FILE_TYPE);
    			// 设置文件名字的编码格式为iso-8859-1,因为FTP上传的时候默认编码为iso-8859-1,解决文件名字乱码的问题
                filename = new String(filename.getBytes("UTF-8"), "iso-8859-1");
    			//上传文件
    			if (!ftp.storeFile(filename, input)) {
    				return result;
    			}
    			input.close();
    			ftp.logout();
    			result = true;
    		} catch (IOException e) {
    			e.printStackTrace();
    		} finally {
    			if (ftp.isConnected()) {
    				try {
    					ftp.disconnect();
    				} catch (IOException ioe) {
    					ioe.printStackTrace();
    				}
    			}
    		}
    		return result;
    	}

    然后是下载

    还是先路径转码

    然后

    接着

    最终,注意如果设置UTF-8的朋友出现下载文件为0KB的情况,就把编码设置为下面的格式

    完整代码

    public static void downloadFtpFile(String ftpHost, String ftpUserName,  
                String ftpPassword, int ftpPort, String ftpPath, String localPath,  
                String fileName) {  
    		FTPClient ftpClient = new FTPClient();
    		int reply;
            try {  
                String ftpPath2 = new String(ftpPath.getBytes("GBK"),"iso-8859-1");
                ftpClient.connect(V2Config.getIp(), V2Config.getPort());
                ftpClient.login(V2Config.getUsername(), V2Config.getPassword());
    			reply = ftpClient.getReplyCode();
    			if (!FTPReply.isPositiveCompletion(reply)) {
    				ftpClient.disconnect();
    				return;
    			}  
                ftpClient.setControlEncoding("UTF-8"); // 中文支持  
                ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);  
                ftpClient.enterLocalPassiveMode();  
                boolean flag1 = ftpClient.changeWorkingDirectory(ftpPath2); 
                if (!flag1) {
                    logger.error("没有找到" + ftpPath + "---该路径");
                    return;
                }
                File localFile = new File(localPath + File.separatorChar + new String(fileName.getBytes("GBK"),"UTF-8"));  
                OutputStream os = new FileOutputStream(localFile);  
                //复制文件流
                boolean flag2 = ftpClient.retrieveFile(new String(fileName.getBytes("GBK"),"iso-8859-1"), os); 
                if (!flag2) {
                    logger.error("没有找到" + fileName + "---该文件");
                    localFile.delete();
                }
                os.close();  
                ftpClient.logout();  
    
            } catch (FileNotFoundException e) {  
                logger.error("没有找到" + ftpPath + "文件");  
                e.printStackTrace();  
            } catch (SocketException e) {  
                logger.error("连接FTP失败.");  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
                logger.error("文件读取错误。");  
                e.printStackTrace();  
            }  
    
        }

    这里还有个坑,下载文件时的本地路径一定要注意!!!!!一定要注意!!!!!一定要注意!!!!!

    如果你的下载方法和文件名都没有问题,本地目录却没有文件,就检查检查本地路径是否正确

    我当时遇到的情况是"C:/xxx/",怎么下载都没有文件,后来多番尝试"C:\\xx\"解决问题

    如果这些东西对你有帮助,请给个赞,万分感谢

    欢迎大神指点

    展开全文
  • IIS文件服务器 http下载文件 0KB问题

    千次阅读 2018-04-09 17:44:27
    状况:服务器上文件确实存在,并且下载成功(c/s应用),文件大小显示0KB调试获取文件路径:服务器端网页访问显示:看到这里问题就很明确了:缺少MIME映射配置。添加.dwg扩展名映射类型 application/octet-stream ...

    状况:服务器上文件确实存在,并且下载成功(c/s应用),文件大小显示0KB

    调试获取文件路径:

    这里写图片描述

    服务器端网页访问显示:

    这里写图片描述

    看到这里问题就很明确了:缺少MIME映射配置。添加.dwg扩展名映射类型 application/octet-stream
    这里写图片描述

    再次执行就显示保存,并有文件大小了。
    这里写图片描述

    展开全文
  • WIN11系统下载VS2022,下载不成功,网速0kb/s

    千次阅读 多人点赞 2022-02-24 17:20:57
    网速显示为零,设置DNS即可(点进以太网或者热点)
  • 而且这些文件大小都是0Kb,在网上找到一个有效地办法,在这里记录并分享与大家: 把下面的代码复制粘贴到一新建的txt记事本文档中,并另存为del.bat文件(或者你喜欢的名字),注意扩展名为批处理文件bat; DEL /F /...
  • (2)刚刚用代码调用系统相册去拍照,然后我用USB 连上电脑,在电脑里面去访问我的存放照片的那个文件夹,居然看不到我刚刚拍摄的那张照片(或者是看的到,但是文件大小显示0KB,双击用电脑的照片浏览工具查看照片...
  • } else { throw new CrmException("文件上传与下载方式,服务配置错误"); } FileStore fileStore = new FtpUtil(config); boolean storeFile = fileStore.storeFile(name, new ByteArrayInputStream(fileContent));...
  • FlashFXP上传文件没数据,为0KB

    千次阅读 2019-01-23 12:20:56
    今天在Flash FXP上传python文件时,发现文件可以成功上传,但是打开后都是空白的,是空的,查看大小也是0kb。思索一番后,我想到在打开软件时,win10通知栏弹出了一个关于受保护文件的通知,大概意思是不可以向里面...
  • java写文件到本地大小为0kb

    千次阅读 2018-10-29 20:26:09
    结果运行代码后看见磁盘生成文件,但是大小是0kb。 文件操作相对用得比较少,有些生疏。 java在处理文件写出的时候,会用到缓冲流,如果文件必须叫小,可能还不足以填满缓冲流的默认空间大小,所以就会导致代码执行...
  • BitmapFactory.decodeByteArray(data, 0, data.length, opts); opts.inSampleSize = computeSampleSize(opts, -1, AppContext.getScreenHeight()*AppContext.getScreenWidth()); opts....
  • 导出excel 0kb的问题

    千次阅读 2014-07-05 16:44:33
    运行导出代码,浏览器提示下载框,但是大小为0kb,跟踪代码执行情况,在这一行就结束了wb = new XSSFWorkbook( is );没有异常抛出。(可能是tomcat层面把异常处理了)总之,找了半天问题,终于发现了,原来是jar包...
  • 1mb等于多少kb

    千次阅读 2021-07-23 00:50:44
    ⑴ 计算机的储存容量1MB等于多少KB计算机的储存容量1MB = 1024KB。...网络上的所有信息都是以“位”(bit)为单位传递的,一个位就代表一个0或1。(1)1mb等于多少kb扩展阅读存储容量是便携存储产品最为关键的参数...
  • VS2015安装失败KB3022398 KB3165756

    千次阅读 2021-07-02 09:50:13
    Visual Studio 2015 Update 3 KB3022398 当安装VS2015时,手动勾选需要的包,可能会导致整个VS安装失败,此时可能会报以下错误 通过自动修复也无法解决,微软给出的解决办法是 ...我收到错误“此更新要求安装
  • xbox下载游戏一直显示排队解决方法

    千次阅读 2021-12-17 16:03:04
    XBOX下载游戏0x80073D26 或 0x00000001错误解决办法
  • 下载并安装B计划数据恢复软件。2. 运行恢复软件,点击“深度扫描”。深度扫描是绕过文件系统直接从硬盘、U盘、SD卡等设备底层恢复数据,因此使用深度恢复能找回更多完整数据。同时我们要搞清楚物理硬盘和逻辑硬盘的...
  • Android 中获取网络下载速率的方法

    千次阅读 2022-04-11 10:14:32
    /** * 获取网络下载速度 * @param uid * @return */ public static int getNetSpeed(int uid) { long nowTotalRxBytes = getTotalRxBytes(uid); long nowTimeStamp = System.currentTimeMillis(); long speed = (...
  • 今天用xftp连接服务器上传文件,传输列表显示错误,创建文件的大小为0字节。开始以为是权限问题,结果切换root用户查看权限没问题。又开始各种百度,无果。忽然想到今天通过wget 方式向上传文件夹下载过好几G的系统...
  • Win7安装补丁KB2670838

    千次阅读 2021-06-15 11:54:27
    这个是我找到的适合win7 64位的KB2670838的安装包,进行下载。 http://download.windowsupdate.com/msdownload/update/software/ftpk/2013/02/windows6.1-kb2670838-x64_9f667ff60e80b64cbed27746
  • 其实实现它方法很简单,这里我写了个进度条的模块,其中还附带上了运行时间也就是下载时间了。 该模块调用了三个库: 1.os 2.requests 3.time 话不多说,先上代码!!!. # 进度条模块 def progressbar(url,path): ...
  • 在这资源更新的进度条显示时 using (WebClient client = new WebClient()) { sw.Start(); client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChang
  • 关于文件夹全部是exe,665kb解决办法

    千次阅读 2021-08-05 14:59:47
    使用U盘拷贝文件时,发现U盘里所有文件夹都变成了exe类型,文件大小都是665Kb。 解决办法:下载DirFixer.exe,选择U盘目录...下载地址:链接:https://pan.baidu.com/s/1H9XU-WoGtCbMZwQl2MXk0A 提取码:e2dt ...
  • Qt Http实现网络文件下载

    万次阅读 2019-08-05 18:20:05
    //显示下载速度:这是平均下载速度,并不是实时的速度 void MainWindow::showSpeed() { qint64 nowSec = QDateTime::currentDateTime().toTime_t(); int cha = nowSec - m_StartSec; int speed = m_hadLoadSize / ...
  • 解决 NDP40-KB2468871不能安装

    千次阅读 2019-09-27 01:30:17
    新机子 成功装了vs2010,然后装sql2012提示让装vs2012sp1,下载了sp1,装的时候,装到最后一个包NDP40-KB2468871的时候报错了KB2468871安装失败 错误: Exe (F:\迅雷下载\VS2010SP1dvd1\NDP40-KB2468871.exe) ...
  • 可以从服务器将已经上传的图片资源,通过base64字符串下载,然后将base64转换为图片,在界面显示,具体效果图: 这个类似于微信的效果,是我在网上找了个demo,这篇文章主要是谈base64和图片转换遇到的问题,实现...
  • 项目在本地调试的时候,是可以正常下载本地磁盘的文件的,然后我部署到一台远程机器上,所要下载的文件能够得到他的路径,但是也不报错就是页面没有下载到文件,这是为什么? 备注:1.我在浏览器去访问那个文件的...
  • 解决Retrofit文件下载进度显示问题

    万次阅读 2016-04-19 12:40:21
    在Retrofit2.0使用详解这篇文章中详细介绍了...在项目中,若是用户下载一个文件,无法实时给用户显示下载进度,这样用户的体验也是非常差的。那么下面就介绍一下在retrofit用于文件的下载如何实时跟踪下载进度。
  • 这几天项目上有些文件都放在了Q群上,可是发现只要稍微大一点的文件基本都是下载失败,不是网络错误就是下载半天才下好,现在介绍一下解决的办法: 1- 百度上搜索“群空间” 2- 登录你的QQ账号 3- 在右上角有我的QQ...
  • 当有下载任务而下载任务又没下载完,然后强制退出app,可能通过 DownloadEnumerateCallback 获取之前的下载任务,就可以继续下载了, $(function() { mui.plusReady(function() { plus.downloader....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,173
精华内容 33,269
关键字:

下载显示0kb