[WebDNA] Sage code: use curl instead of tcpconnect

This WebDNA talk-list message is from

2018


It keeps the original formatting.
numero = 114325
interpreted = N
texte = 1940 For anyone who needs it, this code creates POST data for my client's Sage credit card transactions: [text]sageContent=[!] [/!]M_ID=[ourSageID][!] [/!]&M_Key=[ourSageKey][!] [/!]&T_code=[ourTransactionCode][!] [/!]&T_orderNum=[ourOrderNumber][!] [/!]&T_amt=[sagePostAmt][!] [/!]&C_name=[sagePostName][!] [/!]&C_address=[sagePostAddress][!] [/!]&C_city=xxxx[!] [/!]&C_state=xx[!] [/!]&C_zip=[sagePostZip][!] [/!]&C_country=us[!] [/!]&C_email=bogus@bogus.com[!] [/!]&C_cardnumber=[sagePostCardNumber][!] [/!]&C_exp=[sagePostExp][!] [/!]&C_cvv=[sagePostCVV][!] [/!][/text] And this code was previously used to submit the above data to Sage from one of my client's WebDNA 8.5.1 servers before it broke on 06/25/2018 when Sage upgraded to TLS 1.2: [text]sageReply=[!] [/!][tcpconnect host=sagepayments.net&port=443&ssl=T][!] [/!][tcpsend skipheader=T]POST /cgi-bin/eftBankcard.dll[!] [/!]?transaction HTTP/1.0[n][!] [/!]Content-Type: application/x-www-form-urlencoded[n][!] [/!]Content-Length:[countchars][sageContent][/countchars][n][n][!] [/!][sageContent][n][!] [/!][/tcpsend][!] [/!][/tcpconnect][!] [/!][/text] So now I use this code which replaces the tcpconnect on my client's Ubuntu 16.04 server, and so far it works perfectly: [text]sageReply=[!] [/!][shell]curl -d "[sageContent]" --tlsv1.2 POST [!] [/!]https://sagepayments.net/cgi-bin/eftBankcard.dll[!] [/!]?transaction[/shell][!] [/!][/text] THEREFORE: If my use of "HTTP/1.0" is not causing the above tcpconnect to fail, then maybe tcpconnect simply does not work in WebDNA 8.5.1 and earlier when POSTing data to a server that requires TLS 1.2. The curl code is much simpler anyways. Curl uses the "x-www-form-urlencoded" content type by default, and there's no need to count characters in curl POST data or specify a HTTP version. :) Regards, Kenneth Grome WebDNA Solutions http://www.webdnasolutions.com Web Database Systems and Linux Server Administration --------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list talk@webdna.us To unsubscribe, E-mail to: talk-leave@webdna.us archives: http://www.webdna.us/page.dna?numero=55 Bug Reporting: support@webdna.us . Associated Messages, from the most recent to the oldest:

    
  1. [WebDNA] Sage code: use curl instead of tcpconnect (Kenneth Grome 2018)
1940 For anyone who needs it, this code creates POST data for my client's Sage credit card transactions: [text]sageContent=[!] [/!]M_ID=[ourSageID][!] [/!]&M_Key=[ourSageKey][!] [/!]&T_code=[ourTransactionCode][!] [/!]&T_orderNum=[ourOrderNumber][!] [/!]&T_amt=[sagePostAmt][!] [/!]&C_name=[sagePostName][!] [/!]&C_address=[sagePostAddress][!] [/!]&C_city=xxxx[!] [/!]&C_state=xx[!] [/!]&C_zip=[sagePostZip][!] [/!]&C_country=us[!] [/!]&C_email=bogus@bogus.com[!] [/!]&C_cardnumber=[sagePostCardNumber][!] [/!]&C_exp=[sagePostExp][!] [/!]&C_cvv=[sagePostCVV][!] [/!][/text] And this code was previously used to submit the above data to Sage from one of my client's WebDNA 8.5.1 servers before it broke on 06/25/2018 when Sage upgraded to TLS 1.2: [text]sageReply=[!] [/!][tcpconnect host=sagepayments.net&port=443&ssl=T][!] [/!][tcpsend skipheader=T]POST /cgi-bin/eftBankcard.dll[!] [/!]?transaction HTTP/1.0[n][!] [/!]Content-Type: application/x-www-form-urlencoded[n][!] [/!]Content-Length:[countchars][sageContent][/countchars][n][n][!] [/!][sageContent][n][!] [/!][/tcpsend][!] [/!][/tcpconnect][!] [/!][/text] So now I use this code which replaces the tcpconnect on my client's Ubuntu 16.04 server, and so far it works perfectly: [text]sageReply=[!] [/!][shell]curl -d "[sageContent]" --tlsv1.2 POST [!] [/!]https://sagepayments.net/cgi-bin/eftBankcard.dll[!] [/!]?transaction[/shell][!] [/!][/text] THEREFORE: If my use of "HTTP/1.0" is not causing the above tcpconnect to fail, then maybe tcpconnect simply does not work in WebDNA 8.5.1 and earlier when POSTing data to a server that requires TLS 1.2. The curl code is much simpler anyways. Curl uses the "x-www-form-urlencoded" content type by default, and there's no need to count characters in curl POST data or specify a HTTP version. :) Regards, Kenneth Grome WebDNA Solutions http://www.webdnasolutions.com Web Database Systems and Linux Server Administration --------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list talk@webdna.us To unsubscribe, E-mail to: talk-leave@webdna.us archives: http://www.webdna.us/page.dna?numero=55 Bug Reporting: support@webdna.us . Kenneth Grome

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

encryption in browser? (1998) Wanted: Broader string manipulation functions (1997) [OT] - CommuniGate skins (2003) Non-repeating Random Numbers - CORRECTION (2002) Re:HTTP header line is too long? (1997) Help formatting search results w/ table (1997) Problems passing [SKU] with $Replace in 2.0 (1997) [WebDNA] An unknown error occured // Deadlock avoided (2011) Sort Order on a page search (1997) Re:Emailer and encryption (1997) Transfering [text] variables (2000) creating writefile data from a nested search (1997) [OT] http list (2003) Forcing a NEWCART (1997) Limitations on fields? Server is crashing (1997) encrypted query string trouble on OSX (2001) docs for WebCatalog2 (1997) Database Upload (2000) security (1997) WebCatalog can't find database (1997)