Dürfte mit einem Java-Agenten gehen.
Dieser code
/* SaveURL.java */
import java.net.*;
import java.io.*;
public class SaveURL
{
public static void main(String[] args)
{
if (args.length != 2) {
System.err.println(
"Usage: java SaveURL <url> <file>"
);
System.exit(1);
}
try {
URL url = new URL(args[0]);
OutputStream out = new FileOutputStream(args[1]);
InputStream in = url.openStream();
int len;
byte[] b = new byte[100];
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
}
out.close();
in.close();
} catch (MalformedURLException e) {
System.err.println(e.toString());
System.exit(1);
} catch (IOException e) {
System.err.println(e.toString());
System.exit(1);
}
}
}
müsste auf deine Aufgabe zugeschnitten werden.
wenn nämlich nichts zurückkommt,
D:\jMy\net\url>java SaveURL http://www.notes.net
Usage: java SaveURL <url> <file>
D:\jMy\net\url>java SaveURL http://www.notes.net C:\temp\testUrl.txt
D:\jMy\net\url>java SaveURL http://www.notes.knet C:\temp\testUrl.txt
java.net.UnknownHostException: www.notes.knet
D:\jMy\net\url>
z.B. bei http://www.notes.knet
wird eine UnknownHostException geworfen.
funktioniert auch mit komischen urls wie http://www.theserverside.com/home/thread.jsp?thread_id=20101&article_count=8#87562
Nicht aus der dos kommandozeile (& scheint da ein Sonderzeichen zu sein), aber im code (also auch aus LoNo-Java-Agenten Agenten).
Sofern du nicht Java kannst, kann ich dir helfen, wenn du den LotusNotes code postest, der durch die ganzen URLs durchiteriert.
Ich schreib das dann auf Java um (falls das nicht zu lang ist).
eigentlich brauchst du nur sowas in der Art:
try {
URL url = new URL(theUrlAsString);
OutputStream out = new FileOutputStream(args[1]);
InputStream in = url.openStream();
} catch (MalformedURLException e) {
//IRGENDWAS TUN UM ZU KENNZEICHNEN; DASS DER LINK FAUL IST
}
Gruss Axel
so in der Art:
import lotus.domino.*;
import java.net.*;
import java.io.*;
public class JavaAgent extends AgentBase {
public NotesMain() {
try {
Session ns = getSession();
AgentContext agentContext = ns.getAgentContext();
Database ndb = agetContext.getCurrentDatabase();
View nvw = ndb.getView("DIE_VIEW");
Document ndocUrl = nvw.getFirstDocument();
while (ndocUrl != null) {
String urlAsString = ndocUrl.getItemValueString("FELD_MIT_DER_URL");
try {
URL url = new URL(urlAsString);
InputStream in = url.openStream();
in.close();
} catch (MalformedURLException e) {
docUrl.replaceItemValue("urlIstFaul", "faul");
} catch (Exception e) {
e.printStackTrace();
}
} // end while
} catch (NotesException e) {
e.printStackTrace();
}}}
[/url]
code ist ungetestet, blind runtergeschrieben.
(Fehlermeldungen siehst du in Java Debug Console, neben LotusNotes Debugger in Menü)
}
WICHTIG!!!
Habe UnknownHostException vergessen.
Das funktioniert jedenfalls. Du musst diese UnknownHostException in den code noch einklinken (wie unten gezeigt.
Gruss Axel
import lotus.domino.*;
import java.net.*;
import java.io.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
try {
URL url = new URL("http://www.javaranchc.com");
InputStream in = url.openStream();
in.close();
System.out.println("url ist da");
} catch (MalformedURLException e) {
System.out.println("url ist nicht da");
} catch (UnknownHostException e) {
System.out.println("url ist nicht da");
} catch (Exception e) {
e.printStackTrace();
}
} catch(Exception e) {
e.printStackTrace();
}
}
}