Ankündigung

Einklappen
Keine Ankündigung bisher.

CURL: HTTP_HEADER über GET übertragen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CURL: HTTP_HEADER über GET übertragen

    Hallo zusammen,

    ich versuche mich gerade an einer Schnittstellenanbindung. Die Autorisierung hat schonmal funktioniert. Leider hänge ich gerade an einer Operation, die mittels GET angesprochen wird. Hier muss der Token über den Header übergeben werden, was ich aber irgendwie nicht hinbekomme. Mein bisheriger Code (Ausschnitt):

    PHP-Code:
    $curl_hsi curl_init('https://xxx/shipmentstatuses?shipmentID=123456'); // URL ersetzen
                
    curl_setopt($curl_hsiCURLOPT_POSTfalse); // Schaltet zu GET um
                
    curl_setopt($curl_hsiCURLOPT_RETURNTRANSFER1);
                
    curl_setopt($curl_hsiCURLOPT_HTTPHEADER,
                                array(
                                    
    'Authorization'      => $fetch_token->hlg_token_value,
                                    
    'content-type'    => 'application/json',
                                    
    'accept-language' => 'DE'
                                
    )
                            ); 
                
    $result curl_exec($curl_hsi); // Request ausfuehren
                
    $responseInfo curl_getinfo($curl_hsi);
                
    curl_close($curl_hsi); 
    Die Variable $fetch_token->hlg_token_value habe ich bereits per echo überprüft. Sie ist richtig gefüllt. Dennoch erhalte ich den Fehler:

    {"listOfResultCodes":[{"code":"120101-e006","message":"Die Pflichtfelder [Authorization] sind nicht gefüllt."}]}

    Inhalt der $responseInfo:
    Code:
     
     Array (     [url] => https://xxx/shipmentstatuses?shipmentID=123456     [content_type] => application/json;charset=UTF-8     [http_code] => 400     [header_size] => 279     [request_size] => 141     [filetime] => -1     [ssl_verify_result] => 0     [redirect_count] => 0     [total_time] => 0.197194     [namelookup_time] => 0.004188     [connect_time] => 0.030204     [pretransfer_time] => 0.094534     [size_upload] => 0     [size_download] => 113     [speed_download] => 573     [speed_upload] => 0     [download_content_length] => -1     [upload_content_length] => -1     [starttransfer_time] => 0.197172     [redirect_time] => 0     [redirect_url] =>      [primary_ip] => xxx.xxx.xxx.xxx     [certinfo] => Array         (         )      [primary_port] => 443     [local_ip] => xxx.xxx.xxx     [local_port] => 56270 )
    (Sorry, irgendwie bekomme ich die Zeilen nicht untereinander)

    Kann mir jemand anhand dieser Daten weiterhelfen?

    Viele Grüße
    Roman


  • #2
    Dein header ist nicht korrekt der müsste so aussehen

    PHP-Code:
     curl_setopt($curl_hsiCURLOPT_HTTPHEADER,
                                [
                                    
    'Authorization:  Bearer '.$fetch_token->hlg_token_value,
                                    
    'Content-Type: application/json',
                                    
    'Accept-Language: DE'
                                
    ]
                            ); 
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      Super, vielen Dank. Da wäre ich nicht so schnell drauf gekommen. Nun erhalte ich zwar die Meldung, dass das Token ungültig sei, aber das bespreche ich dann mit dem Anbieter.

      Vielen Dank nochmal für die Hilfe!

      Kommentar


      • #4
        Zitat von Gomilli Beitrag anzeigen
        Super, vielen Dank. Da wäre ich nicht so schnell drauf gekommen. Nun erhalte ich zwar die Meldung, dass das Token ungültig sei, aber das bespreche ich dann mit dem Anbieter.

        Vielen Dank nochmal für die Hilfe!
        Naja es kann halt auch sein dass du statt Bearer , Basic schreiben musst, ich weiß halt nicht was in deiner Docu steht.

        Also es gibt in der Regel zwei Wege (die mir bekannt sind)

        1) 'Authorization: Basic '.base64_encode($username.':'.$password);
        2) 'Authorization: Baerer '.$token;

        apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

        Kommentar


        • #5
          Alles gut. Mein Token war wegen der ständigen Fehler und der daraus entstandenen langen Wartezeit lediglich abgelaufen. Es funktioniert nun, dank deiner Hilfe!

          Kommentar

          Lädt...
          X