Domino 9 und frühere Versionen > ND6: Entwicklung

Kann man Webformular per Agent ausfüllen?

<< < (2/3) > >>

Mark³:
ich wollte es mal auf die Schnelle mit http://jakarta.apache.org/commons/httpclient/ testen, aber ständig fehlen irgendwelche Apache Bibliotheken, wenn ich das starten will  >:D

Geht sowas nicht auch mit AJAX? Oder kann AJAX nur XML parsen? Vielleicht sollte ich meine Frage mal in einem Hacker-Forum stellen, die machen sowas bestimmt ständig...

Mark³:
ich glaube was ich suchte ist WinHTTP, also in etwa das gleiche wie der Apache httpclient, bloß von Microsoft und in Windows bereits eingebaut.
Das könnte ich dann immerhin über LotusScript machen, ist im Designer irgendwie einfacher als die Java-Lösung.

Mark³:
So bekommt man schon mal eine Seite durch den Proxy, fehlt nur noch der HTTPS-Part und die Antwort (die zig Versionen des Daily-Dilbert-Agenten nutzen teilweise auch diese Funktionalität)


--- Code: ---Dim WinHttpReq As Variant
Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
'HttpRequest SetCredentials flags
Const HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0
Const HTTPREQUEST_PROXYSETTING_PROXY = 2
Const AutoLogonPolicy_Always = 0
'Specify the target resource.
Call WinHttpReq.open( "GET", "http://www.heise.de",  False )

'Set credentials for server.
'Call WinHttpReq.SetCredentials( "User Name",   "Password", HTTPREQUEST_SETCREDENTIALS_FOR_SERVER)
'It might also be necessary to supply credentials
' to the proxy if you connect to the Internet
' through a proxy that requires authentication.
Call WinHTTPReq.SetProxy(HTTPREQUEST_PROXYSETTING_PROXY, "myproxy:8080")
WinHTTPReq.SetAutoLogonPolicy AutoLogonPolicy_Always
'  Send a request to the server and wait for
'  a response.
Call WinHttpReq.send( )

'  Display the results of the request.
Print WinHttpReq.ResponseText
--- Ende Code ---

Die Implementierung von SSL steht hier http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winhttp/http/ssl_in_winhttp.asp. Das schau ich mir aber erst an, wenn ich das wirklich brauchen sollte...

flaite:

--- Zitat von: mt69clp am 30.01.06 - 08:37:07 ---ich wollte es mal auf die Schnelle mit http://jakarta.apache.org/commons/httpclient/ testen, aber ständig fehlen irgendwelche Apache Bibliotheken, wenn ich das starten will  >:D

--- Ende Zitat ---
Die Jakarta-Sachen haben immer starke gegenseitige Abhängigkeiten. Aber der Download hat immer ein lib Verzeichnis und dort sind immer alle da. Die mußt du mitimportieren. Das ist der ganze Trick.

Gruß Axel

flaite:
Da ich mich auch gerade mit dem Zeugs beschäftige. Hier ein kleines und sehr einfaches Beispiel mit jakarta.httpClient. Beinhaltet Proxy Authentifizierung.

--- Code: ---import java.io.IOException;

import org.apache.commons.httpclient.Credentials;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;

public class Simple {

/**
*
*/
public static void main(String[] args)  {
HttpClient httpclient = new HttpClient();
client.getParams().setAuthenticationPreemptive(true); // WICHTIG!!!!
  httpclient.getHostConfiguration().setProxy("proxy", port);

  Credentials defaultcreds = new UsernamePasswordCredentials("myProxyName", "myProxyPassword");
  httpclient.getState().setProxyCredentials(AuthScope.ANY, defaultcreds);
 
  GetMethod httpget = new GetMethod("http://www.yahoo.de/");
  try {
    try {
httpclient.executeMethod(httpget);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    System.out.println(httpget.getStatusLine());
    try {
System.out.println(httpget.getResponseBodyAsString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  } finally {
    httpget.releaseConnection();
  }

}

}

--- Ende Code ---

Als jars im Classpath müssen sein:
- commons-codec-1.2.jar
- commons-httpclient-3.0.jar
- commons-logging.jar (von commons-logging1.0.3).

Das ganze commons Zeugs gibt es hier:
http://jakarta.apache.org/commons/
Es gilt die Regel: Hast du 1 commons Projekt, braucht das mindestens 2 andere  ;D
Diese Dependencies scheinen jetzt hier zu stehen: http://jakarta.apache.org/commons/httpclient/dependencies.html
Es ist das erste, nach dem ich Ausschau halte.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln