导航:首页 > 版本升级 > 文件批量下载代码

文件批量下载代码

发布时间:2023-01-11 16:28:09

❶ php如何一次下载多个文件

这个要利用javascript技巧才行,单独的PHP是无法实现的,经过我的测试,下面的代码可以实现同时下载多版个文件权:

<script language=javascript>
var urls=new Array('result.xls','201110x.rar','a.exe');
for (i in urls) document.write('<a id="d'+i+'" href="'+urls[i]+'" target=_blank>x</a>');
for (i in urls) document.getElementById('d'+i).click();
</script>

你PHP程序输出这样的代码就可以,主要是用for循环生成第二行urls数组的定义。

❷ 怎样批量下载html代码里面的图片 html不是在线的,本地文件

从html文件中下载图片,又不要在线下载,这怎么可能,html只是标记语言,文件都还在网上呢!

❸ 下载文件的代码

用MFC的CInternetFile,CInternetSession,CHttpConnection等类,已知服务器名及文件路径,代码越简单越好。

以下是代码片段:
//Download http file through proxy
//--------------------------------------------------------------------------------
We can find details about Proxy Authentication and Sever Authentication methed in MSDN.
Just search for the keyword "INTERNET_OPTION_USERNAME".
Here I give a very simple example. It works in my project.
CString GeHttptFile(const char *url)
{
CString szContent;
char strProxyList[MAX_PATH], strUsername[64], strPassword[64];
//in this case "proxya" is the proxy server name, "8080" is its port
strcpy(strProxyList, "proxya:8080");
strcpy(strUsername, "myusername");
strcpy(strPassword, "mypassword");
DWORD dwServiceType = AFX_INET_SERVICE_HTTP;
CString szServer, szObject;
INTERNET_PORT nPort;
AfxParseURL(url, dwServiceType, szServer, szObject, nPort);
CInternetSession mysession;
CHttpConnection* pConnection;
CHttpFile* pHttpFile;
pConnection = mysession.GetHttpConnection(szServer,
INTERNET_FLAG_KEEP_CONNECTION,
INTERNET_INVALID_PORT_NUMBER,
NULL, NULL);
pHttpFile = pConnection->OpenRequest("GET", szObject,
NULL, 0, NULL, NULL,
INTERNET_FLAG_KEEP_CONNECTION);
//here for proxy
INTERNET_PROXY_INFO proxyinfo;
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyinfo.lpszProxy = strProxyList;
proxyinfo.lpszProxyBypass = NULL;
mysession.SetOption(INTERNET_OPTION_PROXY, (LPVOID)&proxyinfo, sizeof(INTERNET_PROXY_INFO));
pHttpFile->SetOption(INTERNET_OPTION_PROXY_USERNAME, strUsername, strlen(strUsername)+1);
pHttpFile->SetOption(INTERNET_OPTION_PROXY_PASSWORD, strPassword, strlen(strPassword)+1);
pHttpFile->SendRequest(NULL);
DWORD nFileSize = pHttpFile->GetLength();
LPSTR rbuf = szContent.GetBuffer(nFileSize);
UINT uBytesRead = pHttpFile->Read(rbuf, nFileSize);
szContent.ReleaseBuffer();
pHttpFile->Close();
delete pHttpFile;
pConnection->Close();
delete pConnection;
mysession.Close();
return szContent;
}
bool SaveUrl(LPCTSTR url, LPCTSTR filename)
{
HINTERNET hNet = ::InternetOpen("Outlook",
PRE_CONFIG_INTERNET_ACCESS,
NULL,
INTERNET_INVALID_PORT_NUMBER,
0) ;
HINTERNET hUrlFile = ::InternetOpenUrl(hNet,
url,
NULL,
0,
INTERNET_FLAG_RELOAD,
0) ;
char buffer[10*1024] ;
DWORD dwBytesRead = 1;
BOOL bRead=TRUE;
CFile file;
file.Open(filename,CFile::modeCreate|CFile::modeWrite);
while(bRead&&dwBytesRead>0)
{
bRead = ::InternetReadFile(hUrlFile,
buffer,
sizeof(buffer),
&dwBytesRead);
if(dwBytesRead>0)
file.Write(buffer,dwBytesRead);
}
::InternetCloseHandle(hUrlFile) ;
::InternetCloseHandle(hNet) ;
file.Close();
AfxMessageBox("finished");
return bRead;
}
void CC02021101Dlg::OnOK()
{
// TODO: Add extra validation here
bool bret=SaveUrl("http://club.pchome.net/bbs2.php?topic=40&lanmuid=2","C:\\temp\\test.html");
if(bret)
AfxMessageBox("true");
else
AfxMessageBox("false");
}
下载事件说明:
OnDownloadBegin <--开始下载
OnDownloadComplete <--下载结束
OnDocumentComplete <--页面下载完毕
对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,那么总共会触发4次BeforeNavigate2事件.
对于每个连接且需要显示出来的二进制文件(如*.gif,*.bmp,*.jpg...)都会触发一个DownloadBegin和DownloadComplete事件.
那我们怎么判断是否全部下载完毕呢?嘿嘿,TWebBrowser控件不是有一个Busy属性的吗?包括相关文件:
#include
#include
#import
做成了:
Bool GetFromWeb(LPSTR pURL, LPSTR
SaveAsFilePath )
{ CInternetSession session; //会话期对象)
CHttpConnection* pServer = NULL; // 指向服务器地址(URL)
CHttpFile * pHttpFile = NULL;// HTTP文件指针
CString strServerName; //服务器名
CString strObject; //查询对象名(http文件)
INTERNET_PORT nPort; //端口
DWORD dwServiceType; //服务类型
DWORD dwHttpRequestFlags = //请求标志
INTERNET_FLAG_EXISTING_CONNECT
INTERNET_FLAG_NO_AUTO_REDIRECT;
const TCHAR szHeaders[] =_T("Accept: text/*\r\nUser-Agent:HttpClient\r\n");
BOOL OK=AfxParseURL( //词法分析
pszURL, //被分析URL串
dwServiceType, //服务类型,ftp,http等
strServerName, //服务器名
strObject, //URL中被查询对象
nPort ); //URL指定的端口,可能为空
OK=OK && //本例只考虑http协议
(dwServiceType ==
INTERNET_SERVICE_HTTP);
if (!OK)
{ AfxMessageBox("URL出错"); //报错
return false;
}
pServer = session.GetHttpConnection(strServerName, nPort); /获得服务器名
pHttpFile = pServer-> OpenRequest( CHttpConnection::HTTP_VERB_GET,strObject, NULL, 1, NULL, NULL,dwHttpRequestFlags);
//向服务器发送请求,建立http连接,
//建立本机上的http文件指针
pHttpFile->AddRequestHeaders(szHeaders);
pHttpFile->SendRequest(); //发送请求
CStdioFile f; //输出文件对象
if( !f.Open( //打开输出文件
SaveAsFilePath, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) )
{ MessageBox( "Unable to open file";
return false;
}
//下面将检索结果保存到文件上
TCHAR szBuf[1024]; //缓存
while (pHttpFile->ReadString(szBuf, 1023))
f.WriteString( szBuf );
f.Close(); //善后工作
pHttpFile ->Close();
pServer ->Close();
if (pHttpFile != NULL) delete pHttpFile;
if (pServer != NULL) delete pServer;
session.Close();
return true;
}

❹ 如何批量从ftp批量下载文件

如果你是WIN系统或者linux系统自带的FTP,就是用代码循环。

你用的是客户端的话更简单了,把需要下载的勾选的直接下就可以了,比如这款IIS7服务器管理软件。

它的操作简单,功能强大可应用于win系列的操作系统(含VPS、VM);还可应用于linux操作系统:CentOS、Ubuntu、Debian等,支持命令及可视化SFTP管理;linux的vnc、win的vnc;FTP,webshell等,同时适合机房管理、站长、运维工作、程序员,等需要大量服务器或者电脑的用户朋友使用范围很广。
IIS7服务器管理工具能够作为FTP的客户端,进行FTP的命令操作,定时备份上传下载,自动更新。可在客户端,下载,安装FTP软件!同时,它也可以作为VNC的客户端,进行VNC的命令操作!它能够批量连接Windows和Linux系统下的服务器和VPS,并能够实时监测他们的连接状态,便于日常维护和操作!

❺ 上网找到的PHP批量下载图片文件代码: 能不能说一说上具体怎样实现

比如说有个style.css 里面有a.jpg b.jpg等图片文件 。
程序读取sytle.css里的各个图处的路径,即 .../a.jpg , ..../b.jpg 然后读到一个数组里。
再遍历这个数组,找到每一个图片,下载下来。

就这样简单,希望能帮到你,^-^

❻ 如何批量下载excel表中链接上的图片

1、先来看一下,Excel文档中有很多图片,现在就要把他们导出来,关闭Excel

❼ 求PYTHON批量下载文件的代码,谢谢

实在不行,就用现成的工具吧,比如:

勾选超大容量模式。

❽ 易语言如何批量下载文件(用于下载电子书。) 求源代码。

网址有规律吗?
写到文件(http读文件())
记次循环
网址有规律吗?说下规律

❾ VB中 一键把一个文件下载到指定位置的代码

第一种 后台下载
声明:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

然后在代码里直接调用:
Call URLDownloadToFile(0, "网络地址", "保存到本地的地址和文件名", 0, 0)

第二种 相当于“另存为”
声明:
Private Declare Function DoFileDownload Lib "shdocvw.dll"(ByVal lpszFile As String) As Long

然后在代码里直接调用:
Dim AdUrl As String
AdUrl = StrConv(“网络地址”, vbUnicode)
Call DoFileDownload(AdUrl)

❿ 有没有自动后台下载文件的Bat批处理代码或C语言代码

我有一个VBS下载文件的代码,可以给您看看。

DimUrl,Target

Url="http://127.0.1/file.jpg"

Target="file.jpg"

DownloadUrl,Target

SubDownload(url,target)
ConstadTypeBinary=1
ConstadSaveCreateOverWrite=2
Dimhttp,ado
Sethttp=CreateObject("Msxml2.ServerXMLHTTP")
http.open"GET",url,False
http.send
Setado=createobject("Adodb.Stream")
ado.Type=adTypeBinary
ado.Open
ado.Writehttp.responseBody
ado.SaveToFiletarget
ado.Close
EndSub
阅读全文

与文件批量下载代码相关的资料

热点内容
觉醒年代哪个app可以免费观看 浏览:830
如何关闭win10触摸屏幕 浏览:761
苹果142不能传文件 浏览:128
如何看历史底部数据 浏览:230
怎么在电脑上下软件或安装app 浏览:798
qq头像电影截图情侣 浏览:87
安卓的网络位置设置在哪 浏览:973
编程侠官网如何登录 浏览:484
借贷王app怎么样 浏览:552
qq黑钻手机怎么开通 浏览:465
dnf85版本爆ss视频 浏览:514
gitlog前一个版本 浏览:718
苹果6手机屏幕周边多出一圈黑色 浏览:131
phpword插件 浏览:264
win10重置并清理驱动器 浏览:893
vector去重java 浏览:572
qq群文件过期了怎么办 浏览:184
电子文件的特性 浏览:190
javatcp接收数据 浏览:968
编程什么最好做 浏览:872

友情链接