String in URL codiert

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

String in URL codiert

Beitrag von Wolfgang Ciriack »

Hallo,
gibt es eine Funktion, mit der ich einen String umwandel kann in URL-Encodiert (Sonderzeichen -> %XX) ?
Viele Grüße
Wolfgang
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: String in URL codiert

Beitrag von Martin Altmann »

Yup - nutzt Du nicht Xb2.NET? Da ist das drin:
xbEscape() bzw. xbUnEscape()
(ausserdem noch xbBase64Encode() und xbBase64Decode() sowie xbCrypt())

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: String in URL codiert

Beitrag von Wolfgang Ciriack »

Hallo Martin,
vielen Dank. Noch eine zusätzliche Frage:
Ich kann das ganze auch per XML übergeben. Dazu muss ich ein php Script aufrufen:

http://............/addmessagexml.php

und per HTTP-Post ein XML-Dokument übertragen.
Welche Funktion nimmt man denn da von Xb2net ?

Bisher habe ich probiert das so zu übergeben:

Code: Alles auswählen

cStr:=".........."
#define MM_XMLHEADER  '<?xml version="1.0" encoding="windows-1252" ?>'+CRLF

oSR:=DC_XmlNode():new( 'message',NIL,{ {"version","1.0"}, ;
                                                 {"receiver", gid }, ;
                                                 {"messageText", cExp }, ;
                                                 {"messageNumber",strzero(auf->aufnum,7)}, ;
                                                 {"requestResponse","false"} })
cSendStr:=ConvToAnsiCp(MM_XMLHEADER+oSR:asString())


oXml := xbXMLDocument():new()
oResponse := oXml:Execute("http://........../addmessagexml.php", cSendStr)
Das ergibt keine Fehlermeldung, oResponse bringt auch den Header zurück, aber auf dem Webserver landet nichts :(

Ist das mit xbXMLDocument richtig oder muss man da noch etwas anderes beachten ?
Viele Grüße
Wolfgang
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: String in URL codiert

Beitrag von Martin Altmann »

Moin,
habe ich selber noch nicht gemacht - nur damals beim DevCon-Server was ähnliches mit PayPal. Schau mal dort in die Sourcen... Da habe ich sowas ähnliches gemacht:

Code: Alles auswählen

oHttp := xbHTTPClient():new()
oHttp:Transport := VIA_WININET
oForm := xbForm():new()
oForm:MimeType := "text/html; charset=UTF-8"
oForm:SetVar( "cmd", "_xclick" )
oForm:SetVar( "business", MEMVAR->paypalac )
oForm:SetVar( "currency_code", "EUR" )
oForm:SetVar( "item_name", "DevCon 2007 - ID: " + alleFelder[ I_TEILNEHMID ] )
oForm:SetVar( "city", alltrim( alleFelder[ I_ORT ] ) )
oForm:SetVar( "address1", alltrim( alleFelder[ I_STRASSE ] ) )
oForm:SetVar( "country", bla )
oForm:SetVar( "email", alltrim( alleFelder[ I_EMAIL ] ) )
oForm:SetVar( "first_name", alltrim( alleFelder[ I_VORNAME ] ) )
oForm:SetVar( "last_name", alltrim( alleFelder[ I_NACHNAME ] ) )
oForm:SetVar( "lc", upper( bla1 ) )
if bla <> "DE"
	oForm:SetVar( "state", alltrim( alleFelder[ I_STAAT ] ) )
endif
oForm:SetVar( "rm", "2" )
oForm:SetVar( "zip", alltrim( alleFelder[ I_PLZ ] ) )
oForm:SetVar( "amount", alleFelder[ I_PREIS ] )
oForm:SetVar( "notify_url", MEMVAR->paypalnurl + alleFelder[ I_TEILNEHMID ] )
oForm:SetVar( "return", MEMVAR->paypalrurl + sprache )
oForm:SetVar( "cancel_return", MEMVAR->paypalcrurl + sprache )

oResp := oHttp:Execute( "https://www.paypal.com/cgi-bin/webscr","POST",oForm )
if oResp == NIL
	text1 := '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Error: PayPal not working!</title><link rel="stylesheet" href="devcon.css" type="text/css"></head><body BGCOLOR="#FFFFFF">' + "<B>Error:</B> <I>" + str(oHttp:ErrorCode) + '</T><P>' + oHttp:ErrorMessage + '<P>' + oHttp:ErrorSource + '<HR></BODY></HTML>'
else
	text1 := oResp:Content
endif
Ansonsten ist auf der XB2.NET-Newsgroup von Boris gerade aktuell ein Thread, gestartet von Cliff Wiernik, zu dem Thema.
Sorry, ich muss jetzt meiner Freundin beim Plätzchenteigkneten helfen... :roll:

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: String in URL codiert

Beitrag von Wolfgang Ciriack »

Vielen dank erst mal, ich werde weiter probieren.
Viele Grüße
Wolfgang
Antworten