導航:首頁 > 版本升級 > 文件批量下載代碼

文件批量下載代碼

發布時間: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
閱讀全文

與文件批量下載代碼相關的資料

熱點內容
word文件夾前面有個符號 瀏覽:350
把word轉換成語音 瀏覽:220
linuxfile文件 瀏覽:454
如何用網路打普通電話 瀏覽:463
linux進程打開的文件 瀏覽:134
新購u盤無法儲存文件 瀏覽:553
5s要不要升級ios93 瀏覽:926
小米手機助手怎麼關閉自動升級 瀏覽:24
外星人能不能升級到win10系統盤 瀏覽:652
加入java信任站點 瀏覽:486
好用的急救知識app 瀏覽:524
什麼是網路適配器驅動文件名 瀏覽:717
吉林文件箱多少錢 瀏覽:113
ae模板版本 瀏覽:204
手機qq步數功能在哪裡 瀏覽:721
c程序設計04737 瀏覽:403
女孩什麼年齡學編程 瀏覽:976
安慶如何做網路營銷推廣 瀏覽:620
什麼是數據標准化 瀏覽:708
aecc三維功能實例視頻教程 瀏覽:719

友情鏈接