Autor Thema: Datenübergabe an Agent alles in Kleinbuchstaben?  (Gelesen 1677 mal)

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Hallo,

ich bin nun auf ein weiteres Problem gestoßen, das mir bisher bei meinen bisherigen Agenten nicht aufgefallen war (da nicht relevant).
Ich rufe über PHP mittels cURL den Agenten auf und übergebe mittels POST (ist aber auch bei GET so) Texte in Groß- und Kleischrift.
Unmittelbar vor dem Aufruf des Agenten lasse ich mir die Daten nochmal anzeigen und da sind die Daten noch unverändert.
Unmittelbar nach dem Start des Agenten lasse ich mir die Daten auch wieder anzeigen und da sind diese schon komplett in Kleischrift.

Weiß jemand woran das liegt und wie ich das verhindern kann?
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline mezz

  • Junior Mitglied
  • **
  • Beiträge: 69
Re: Datenübergabe an Agent alles in Kleinbuchstaben?
« Antwort #1 am: 28.08.12 - 09:49:54 »
Code irgendwo kopiert ohne ihn zu verstehen? Da müßtest du schon mindestens den Code posten, sonst dir da kaum jemand was zu sagen.

perl -e 's,,q#$:%*?:!&=(:!>@.#.$/,e;y;!-./:-@[-]{-~; a-uJP;;print;'

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Datenübergabe an Agent alles in Kleinbuchstaben?
« Antwort #2 am: 28.08.12 - 13:33:40 »
PHP-Code für den Aufruf des Agenten:

Zitat
function save_knowledgebase_entry ($titel,$text) {
   global $notesuser, $noteswebpass;

   $text = urlencode($text);
   $titel = urlencode($titel);

   echo "$titel<br>$text<hr>";

   $varURL = "https://mailserver/Technik/knowledgebase.nsf/CreateKBEntry?OpenAgent";

   $datapost = $titel."&".$text;

   $ch = curl_init($varURL);
   curl_setopt($ch, CURLOPT_URL, $varURL);
   curl_setopt($ch, CURLOPT_POST, true);
   curl_setopt($ch, CURLOPT_POSTFIELDS, $datapost);
   curl_setopt($ch, CURLOPT_USERPWD, $notesuser.":".$noteswebpass);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);
   curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");

   $erg = curl_exec($ch);
   preg_match("#<body[^>]*>(.*?)</body>#si", $erg, $erg_array);
   $output = $erg_array[1];

   curl_close($ch);
   return $output;
}

Und hier der Code vom Agenten:

Zitat
Sub Initialize
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim docid As String
   Dim view As NotesView
   Dim vc As NotesViewEntryCollection
   Dim arg As String, p1 As Long
   Dim argarray As Variant
   Dim counter As Integer
   Dim argtitel As String
   Dim argtext As String
   
   On Error GoTo ErrHandler

   Set doc = s.DocumentContext
    Dim qs As String
    qs = doc.query_string(0)
    If doc.HasItem("Request_Content") Then
        qs=qs & "&"
       ForAll aContent In doc.Request_Content
          qs=qs & aContent
       End ForAll
    End If
   Print "Werte=" & qs & "<br>"

   arg = qs
   p1 = InStr(arg, "&")
   If p1 = 0 Then                                 ' kein Parameter angegeben?
       Print "Error 1: keine Parameter übergeben!"
      Exit Sub
   End If
   arg = LCase(Mid$(arg, p1 + 1))                     ' alle Parameter aus der URL extrahieren

   argarray = Split(arg,"&")                        ' jeden Parameter trennen und in Array speichern

   argtitel = urlDecode(argarray(0))
   argtext = urlDecode(argarray(1))

   Print "Titel: " & argtitel & " erstellt<br>"

   Set db = s.GetDatabase("MAILSERVER/SRV/Group", "Technik\knowledgebase.nsf", False)
   If Not db.IsOpen Then Call db.Open("", "")

   Set view = db.GetView("All Documents")

   Set doc = db.Createdocument()
   docid = doc.UniversalID
   doc.Subject = "TEST - " & argtitel
   doc.Body = argtext
   
   doc.ApptUNID = docid      

   Call doc.Save( True, True )

ErrResume:
   Exit Sub
ErrHandler:
   Print "** CreateKBEntry ** Error occured " &  Str(Err) & ": " & Error$ & " in line " & Str(Erl) & ". Agent stopped."
   Resume ErrResume   
End Sub

Public Function urlDecode(s As String) As String
   If Len(s) = 0 Then Exit Function
   Dim i As Integer
   Dim tmp As String
   Dim c As String
   For i = 1 To Len(s)
      c = Mid$(s, i, 1)
      If c = "+" Then c = " "
      If c = "%" Then
         c = Chr$("&H" + Mid$(s, i + 1, 2))
         i = i + 2
      End If
      tmp = tmp + c
   Next i
   urlDecode = tmp
End Function
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Datenübergabe an Agent alles in Kleinbuchstaben?
« Antwort #3 am: 28.08.12 - 13:42:23 »
Hier wird doch gaaaaaaaaaaaaaaanz laut nach Kleinbuchstaben geschrieen:
Code
arg = LCase(Mid$(arg, p1 + 1))                     ' alle Parameter aus der URL extrahieren

Bernhard

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Datenübergabe an Agent alles in Kleinbuchstaben?
« Antwort #4 am: 28.08.12 - 14:27:37 »
OMG  :o Ich bin echt blind.... und ich hätte einiges verwettet, dass ich die Ausgabe auch schon vorher gesetzt hatte und alles klein gewesen wäre.
Schande über mich.  :-[
« Letzte Änderung: 28.08.12 - 14:29:54 von schroederk »
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz