Domino 9 und frühere Versionen > ND6: Entwicklung
existiert die URL ???
Axel_Janssen:
Dürfte mit einem Java-Agenten gehen.
Dieser code
--- 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);
}
}
}
--- Ende Code ---
müsste auf deine Aufgabe zugeschnitten werden.
wenn nämlich nichts zurückkommt,
--- Code: ---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>
--- Ende Code ---
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:
--- Code: ---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
}
--- Ende Code ---
Gruss Axel
fritandr:
Hallo Axel,
vielen Dank für den Ansatz. Java kann ich noch nicht :'(
Aber - was nicht ist, kann ja noch werden.
Ich werde auf alle Fälle mal versuchen, wie weit ich damit komme.
Bei Erfolg poste ich dann hier die Lösung.
Viele Grüße
Andreas
Axel_Janssen:
so in der Art:
--- Code: ---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ü)
}
--- Ende Code ---
Axel_Janssen:
--- Zitat von: Axel_Janssen am 01.07.03 - 23:09:28 ---
so in der Art:
--- Code: ---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();
}
docUrl = nvw.getNextDocument (docUrl);
} // 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ü)
}
--- Ende Code ---
--- Ende Zitat ---
eknori (retired):
habe mir mal erlaubt, die typos rauszumachen :D
import lotus.domino.*;
import java.net.*;
import java.io.*;
public class JavaAgent extends AgentBase {
public void NotesMain()
{
try {
Session ns = getSession();
AgentContext agentContext = ns.getAgentContext();
Database ndb = agentContext.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) {
ndocUrl.replaceItemValue("urlIstFaul", "faul");
} catch (Exception e) {
e.printStackTrace();
}
ndocUrl = nvw.getNextDocument (ndocUrl);
} // end while
} catch (NotesException e) {
e.printStackTrace();
}}}
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln