2015-02-04 3 views
0

У меня есть два разных файла, которые мне нужно скачать и отправить в тот же файл, но у обоих есть другое расширение. один - .txt, а другой - .log. Как бы я подстановил скачать два разных расширения в моем скрипте?Скачать скрипт FTP VB

+0

Что вы делали до сих пор? разместите свой код! – Hackoo

+0

Какие библиотеки FTP/API вы используете? Покажите нам свой код! –

ответ

0

Просто измените URL с HTTP на FTP

При загрузке двух файлов один за другим.

URL должен быть на 100% верным. В отличие от браузера отсутствует код для исправления URL-адресов.

Цель моей программы - получить сведения об ошибке.

Как получить правильный URL-адрес, введите свой URL-адрес в браузере, перейдите, и правильный URL-адрес часто находится в адресной строке. Другой способ - использовать свойства ссылки и т. Д., Чтобы получить URL-адрес.

Также Microsoft.XMLHTTP сопоставляется с Microsoft.XMLHTTP.1.0. HKEY_CLASSES_ROOT \ Msxml2.XMLHTTP сопоставляется с Msxml2.XMLHTTP.3.0. Попробуйте более поздний вариант

Попробуйте этот способ, используя xmlhttp. Отредактируйте URL-адрес и т. Д. Если кажется, что нужно прокомментировать if/end, если вы хотите сбрасывать информацию, даже если она работает. Это vbscript, но vbscript работает в vb6.

On Error Resume Next 
Set File = WScript.CreateObject("Microsoft.XMLHTTP") 
File.Open "GET", "http://www.microsoft.com/en-au/default.aspx", False 
'This is IE 8 headers 
File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)" 
File.Send 
If err.number <> 0 then 
    line ="" 
    Line = Line & vbcrlf & "" 
    Line = Line & vbcrlf & "Error getting file" 
    Line = Line & vbcrlf & "==================" 
    Line = Line & vbcrlf & "" 
    Line = Line & vbcrlf & "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description 
    Line = Line & vbcrlf & "Source " & err.source 
    Line = Line & vbcrlf & "" 
    Line = Line & vbcrlf & "HTTP Error " & File.Status & " " & File.StatusText 
    Line = Line & vbcrlf & File.getAllResponseHeaders 
    wscript.echo Line 
    Err.clear 
    wscript.quit 
End If 

On Error Goto 0 

Set BS = CreateObject("ADODB.Stream") 
BS.type = 1 
BS.open 
BS.Write File.ResponseBody 
BS.SaveToFile "c:\users\test.txt", 2 

Также проверьте, работают ли эти другие объекты.

C:\Users>reg query hkcr /f xmlhttp 

HKEY_CLASSES_ROOT\Microsoft.XMLHTTP 
HKEY_CLASSES_ROOT\Microsoft.XMLHTTP.1.0 
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP 
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.3.0 
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.4.0 
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.5.0 
HKEY_CLASSES_ROOT\Msxml2.ServerXMLHTTP.6.0 
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP 
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.3.0 
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.4.0 
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.5.0 
HKEY_CLASSES_ROOT\Msxml2.XMLHTTP.6.0 
End of search: 12 match(es) found. 

.

Также следует помнить, что существует ограничение на то, сколько раз вы можете вызвать какой-либо конкретный объект XMLHTTP до того, как произойдет локаут. Если это происходит, и это происходит при отладке кода, просто измените его на другой объект xmlhttp

Смежные вопросы