3v4l.org

run code in 300+ PHP versions simultaneously
<?php $privateKey = '0ac56cf42961b3a00e3a54e8608ac56628331a1a21e28e44288b713442c05d9c'; //your private-key $publicKey = 'd7830ae49fbe30ce79aa033662057fcb8c0d57959411066208444d709c3cd87a'; //your public-key $resource = '/shipment/'; //uri of a resource $timestamp = time(); //only needed for the testing-server $baseUrl = 'https://testing.swissconnect.ch/api/'; $basicAuthUser = 'swissconnect'; $basicAuthPass = 't3St-M4th1lda'; $contentData = '<?xml version="1.0" encoding="UTF-8"?><ns0:MT_SWISSCONNECT_REQUEST xmlns:ns0="http://postlogistics.schindler.com"><auftrag><system_fk_id>9999</system_fk_id><startdatum>2014-10-24 14:40:44</startdatum><rechnungsbeschreibung_offiziell>4700946399 / S-GE</rechnungsbeschreibung_offiziell><rechnungssteller>2</rechnungssteller><bezahl_kurier_id>600</bezahl_kurier_id><bemerkung>bitte Monteur 30 Min. vorher anrufen / Appelez le monteur 30 Min. avant svp.</bemerkung><auftrag_absender_kontaktadressen><item><firma>Schindler Aufzüge AG</firma><addresse>Zugerstrasse 13</addresse><postleitzahl>6030</postleitzahl><ort>Ebikon</ort></item></auftrag_absender_kontaktadressen><auftrag_empfaenger_kontaktadressen><item><firma>Schindler Aufzüge AG</firma><addresse>Friedgrabenstrasse 15</addresse><postleitzahl>8907</postleitzahl><ort>Wettswil</ort><kontakt>Kapinos Tobias / 044 172 8484 844</kontakt></item></auftrag_empfaenger_kontaktadressen><auftrag_dritte_kontaktadressen><item><kontaktadresse_id>62300</kontaktadresse_id><bezahlt_bool>true</bezahlt_bool></item></auftrag_dritte_kontaktadressen><colis><item><anzahl>1</anzahl><gewicht>0.035 </gewicht><laenge>20.000 </laenge><breite>20.000 </breite><hoehe>20.000 </hoehe><beschreibung>Paket</beschreibung></item></colis><auftrag_kuriere_dritte><item><kurier_id>101</kurier_id></item></auftrag_kuriere_dritte></auftrag></ns0:MT_SWISSCONNECT_REQUEST>'; //For the hash-key we do not need the serverPW $url = $baseUrl . $privateKey . '/' . $timestamp . $resource; //generating hash which has to be placed in the header of the request. Header name: X-hash $resultHash = hash('sha256', $url . $contentData); $sendUrl = $baseUrl . $publicKey . '/' . $timestamp . $resource; $httpHeaders = array( "Content-Type: application/xml", "Accept: application/xml", "X-hash: " . $resultHash, "X-language: de", "Authorization: Basic ". base64_encode($basicAuthUser. ':'. $basicAuthPass), ); $httpheaderstring = implode(",", $httpHeaders); echo '$HTTP_HEADER..: '.$httpheaderstring."\n"; echo '$TIMESTAMP....: '.$timestamp."\n"; echo '$SEND_URL.....: '.$sendUrl."\n"; echo '$RESULTHASH...: '.$resultHash."\n"; echo '$URL_FOR_HASH.: '.$url."\n"; echo '$CONTENTDATA..: '.$contentData."\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/mM7Ts
function name:  (null)
number of ops:  63
compiled vars:  !0 = $privateKey, !1 = $publicKey, !2 = $resource, !3 = $timestamp, !4 = $baseUrl, !5 = $basicAuthUser, !6 = $basicAuthPass, !7 = $contentData, !8 = $url, !9 = $resultHash, !10 = $sendUrl, !11 = $httpHeaders, !12 = $httpheaderstring
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '0ac56cf42961b3a00e3a54e8608ac56628331a1a21e28e44288b713442c05d9c'
    4     1        ASSIGN                                                   !1, 'd7830ae49fbe30ce79aa033662057fcb8c0d57959411066208444d709c3cd87a'
    6     2        ASSIGN                                                   !2, '%2Fshipment%2F'
    7     3        INIT_FCALL                                               'time'
          4        DO_ICALL                                         $16     
          5        ASSIGN                                                   !3, $16
   11     6        ASSIGN                                                   !4, 'https%3A%2F%2Ftesting.swissconnect.ch%2Fapi%2F'
   12     7        ASSIGN                                                   !5, 'swissconnect'
   13     8        ASSIGN                                                   !6, 't3St-M4th1lda'
   15     9        ASSIGN                                                   !7, '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cns0%3AMT_SWISSCONNECT_REQUEST+xmlns%3Ans0%3D%22http%3A%2F%2Fpostlogistics.schindler.com%22%3E%3Cauftrag%3E%3Csystem_fk_id%3E9999%3C%2Fsystem_fk_id%3E%3Cstartdatum%3E2014-10-24+14%3A40%3A44%3C%2Fstartdatum%3E%3Crechnungsbeschreibung_offiziell%3E4700946399+%2F+S-GE%3C%2Frechnungsbeschreibung_offiziell%3E%3Crechnungssteller%3E2%3C%2Frechnungssteller%3E%3Cbezahl_kurier_id%3E600%3C%2Fbezahl_kurier_id%3E%3Cbemerkung%3Ebitte+Monteur+30+Min.+vorher+anrufen+%2F+Appelez+le+monteur+30+Min.+avant+svp.%3C%2Fbemerkung%3E%3Cauftrag_absender_kontaktadressen%3E%3Citem%3E%3Cfirma%3ESchindler+Aufz%C3%BCge+AG%3C%2Ffirma%3E%3Caddresse%3EZugerstrasse+13%3C%2Faddresse%3E%3Cpostleitzahl%3E6030%3C%2Fpostleitzahl%3E%3Cort%3EEbikon%3C%2Fort%3E%3C%2Fitem%3E%3C%2Fauftrag_absender_kontaktadressen%3E%3Cauftrag_empfaenger_kontaktadressen%3E%3Citem%3E%3Cfirma%3ESchindler+Aufz%C3%BCge+AG%3C%2Ffirma%3E%3Caddresse%3EFriedgrabenstrasse+15%3C%2Faddresse%3E%3Cpostleitzahl%3E8907%3C%2Fpostleitzahl%3E%3Cort%3EWettswil%3C%2Fort%3E%3Ckontakt%3EKapinos+Tobias+%2F+044+172+8484+844%3C%2Fkontakt%3E%3C%2Fitem%3E%3C%2Fauftrag_empfaenger_kontaktadressen%3E%3Cauftrag_dritte_kontaktadressen%3E%3Citem%3E%3Ckontaktadresse_id%3E62300%3C%2Fkontaktadresse_id%3E%3Cbezahlt_bool%3Etrue%3C%2Fbezahlt_bool%3E%3C%2Fitem%3E%3C%2Fauftrag_dritte_kontaktadressen%3E%3Ccolis%3E%3Citem%3E%3Canzahl%3E1%3C%2Fanzahl%3E%3Cgewicht%3E0.035+%3C%2Fgewicht%3E%3Claenge%3E20.000+%3C%2Flaenge%3E%3Cbreite%3E20.000+%3C%2Fbreite%3E%3Choehe%3E20.000+%3C%2Fhoehe%3E%3Cbeschreibung%3EPaket%3C%2Fbeschreibung%3E%3C%2Fitem%3E%3C%2Fcolis%3E%3Cauftrag_kuriere_dritte%3E%3Citem%3E%3Ckurier_id%3E101%3C%2Fkurier_id%3E%3C%2Fitem%3E%3C%2Fauftrag_kuriere_dritte%3E%3C%2Fauftrag%3E%3C%2Fns0%3AMT_SWISSCONNECT_REQUEST%3E'
   18    10        CONCAT                                           ~22     !4, !0
         11        CONCAT                                           ~23     ~22, '%2F'
         12        CONCAT                                           ~24     ~23, !3
         13        CONCAT                                           ~25     ~24, !2
         14        ASSIGN                                                   !8, ~25
   21    15        INIT_FCALL                                               'hash'
         16        SEND_VAL                                                 'sha256'
         17        CONCAT                                           ~27     !8, !7
         18        SEND_VAL                                                 ~27
         19        DO_ICALL                                         $28     
         20        ASSIGN                                                   !9, $28
   22    21        CONCAT                                           ~30     !4, !1
         22        CONCAT                                           ~31     ~30, '%2F'
         23        CONCAT                                           ~32     ~31, !3
         24        CONCAT                                           ~33     ~32, !2
         25        ASSIGN                                                   !10, ~33
   25    26        INIT_ARRAY                                       ~35     'Content-Type%3A+application%2Fxml'
   26    27        ADD_ARRAY_ELEMENT                                ~35     'Accept%3A+application%2Fxml'
   27    28        CONCAT                                           ~36     'X-hash%3A+', !9
         29        ADD_ARRAY_ELEMENT                                ~35     ~36
   28    30        ADD_ARRAY_ELEMENT                                ~35     'X-language%3A+de'
   29    31        INIT_FCALL                                               'base64_encode'
         32        CONCAT                                           ~37     !5, '%3A'
         33        CONCAT                                           ~38     ~37, !6
         34        SEND_VAL                                                 ~38
         35        DO_ICALL                                         $39     
         36        CONCAT                                           ~40     'Authorization%3A+Basic+', $39
         37        ADD_ARRAY_ELEMENT                                ~35     ~40
   24    38        ASSIGN                                                   !11, ~35
   34    39        INIT_FCALL                                               'implode'
         40        SEND_VAL                                                 '%2C'
         41        SEND_VAR                                                 !11
         42        DO_ICALL                                         $42     
         43        ASSIGN                                                   !12, $42
   35    44        CONCAT                                           ~44     '%24HTTP_HEADER..%3A+', !12
         45        CONCAT                                           ~45     ~44, '%0A'
         46        ECHO                                                     ~45
   36    47        CONCAT                                           ~46     '%24TIMESTAMP....%3A+', !3
         48        CONCAT                                           ~47     ~46, '%0A'
         49        ECHO                                                     ~47
   37    50        CONCAT                                           ~48     '%24SEND_URL.....%3A+', !10
         51        CONCAT                                           ~49     ~48, '%0A'
         52        ECHO                                                     ~49
   38    53        CONCAT                                           ~50     '%24RESULTHASH...%3A+', !9
         54        CONCAT                                           ~51     ~50, '%0A'
         55        ECHO                                                     ~51
   39    56        CONCAT                                           ~52     '%24URL_FOR_HASH.%3A+', !8
         57        CONCAT                                           ~53     ~52, '%0A'
         58        ECHO                                                     ~53
   40    59        CONCAT                                           ~54     '%24CONTENTDATA..%3A+', !7
         60        CONCAT                                           ~55     ~54, '%0A'
         61        ECHO                                                     ~55
         62      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
165.45 ms | 1400 KiB | 21 Q