Ergebnis 1 bis 14 von 14

Thema: guzzlehttp/guzzle oder php-http/guzzle6-adapter ?

  1. #1
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard guzzlehttp/guzzle oder php-http/guzzle6-adapter ?

    Ich will einen HTTP Request absetzen aus meiner Erweiterung heraus.
    Für "guzzlehttp/guzzle" findet man ja einiges, aber für "php-http/guzzle6-adapter" irgendwie nicht so, wobei genau das von Contao als Abhängigkeit geladen wird. Mir ist da der Sinn noch nicht klar.

    Jemand ne Schippe Klarheit für mich?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Ersteres ist die Library. Zweiteres der Adapter für http://httplug.io. Lies dich dort mal ein, ich denke dann verstehst du was es soll
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Na mal schauen ob ich da durchblicke. Hab eine einfache Erweiterung gefunden wo ich mir das mal abschauen werde.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Funktioniert im Prinzip, habe sogar noch ein RedirectPlugin mit aktivieren können.
    Aber was mir nicht gelingt, an passender Stelle Optionen zu übergeben, speziell an dem automatisch ausgewähltem "curl".

    Ganz grob mal mein Quellcode:
    PHP-Code:
            $this->url 'https://contao44.contaodev'//meine interne Domain
            
            
    $redirectPlugin = new RedirectPlugin();
            
            
    $this->httpClient     $httpClient     ?: new PluginClient(HttpClientDiscovery::find(), [$redirectPlugin]);
            
    $this->requestFactory $requestFactory ?: MessageFactoryDiscovery::find();

            
    $request $this->requestFactory->createRequest('GET'$this->url);
            
    $response $this->httpClient->sendRequest($request);
            
    $ret $response->getStatusCode(); // 200 bei gültiger url und wenn ich http://... aufrufe 
    Mein Problem: wenn das Zertifikat nicht ganz zur Domain passt, kommt:
    Code:
    cURL error 51: SSL: certificate subject name '*.contaodev' does not match target host name 'contao44.contaodev'
    Gelesen habe ich, dass man es per
    PHP-Code:
    'verify' => false 
    abschalten könnte, wird aber nirgends angenommen.
    Oder auch nicht so:
    PHP-Code:
    'curl' => [CURLOPT_SSL_VERIFYHOST => falseCURLOPT_SSL_VERIFYPEER => false
    Entweder wird es ignoriert oder angemeckert, das die Optionen nicht passen.

    Abgesehen, davon, das man den Check nicht abschalten sollte, ist mir klar, aber wie geht das sonst?
    Gibt ja noch andere Parameter die eventuell mal sinnvoll wären. (z.B. timeout)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Ne, oder?
    I can't use HttpClientDiscovery in this case, right? Because I don't see the way to configure Guzzle6 with HttpClientDiscovery.
    Antwort:
    No, you can't. If you need any configuration, you already have to know which client you use.

    Discovery is a zero-knowlege, zero-configuration thing.
    Dann bringt mir das ja gar nichts. Ich wollte das mir httplug die Auswahl abnimmt den richtigen Client zu finden.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.067
    Partner-ID
    10107

    Standard

    Der Fehler liegt ja beim Zertifikat. Das musst du beheben.

  7. #7
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Das hieße ein halb dutzend lokale Zertifikate zu installieren, das wollte ich mir sparen. Sofern der dann die selbst signierten überhaupt akzeptiert.

    Aber wie gesagt, es gibt ja auch andere Optionen die man vielleicht setzen will, da kommt man ja auch nicht dran.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.067
    Partner-ID
    10107

    Standard

    Selbst signierte sollten kein Problem sein. Du kannst dir ja ein Wildcard Zertifikat machen.

  9. #9
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Genau das hatte ich eigentlich getan damals, aber vielleicht auch falsch. Muss ich noch mal prüfen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Da scheint wohl cURL anderer Meinung zu sein:
    Code:
    cURL error 60: SSL certificate problem: self signed certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
    Das heißt für mich dann Tschüss HTTPLUG, unbrauchbar.
    Maximal direkt auf Guzzle gehen mit festem cURL Client, dort soll es möglich sein alle Optionen zu setzen, nicht nur die SSL Dinge.
    Aber dann kann ich auch gleich selbst wie bisher direkt den Client spielen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Aja, gibt noch ein Symfony Bundle, httplug-bundle, wo man angeblich doch an die Einstellungen kommt.
    Aber ob ich diesen Aufwand betreibe, muss ich mal sehen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  12. #12
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.067
    Partner-ID
    10107

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Da scheint wohl cURL anderer Meinung zu sein:
    Code:
    cURL error 60: SSL certificate problem: self signed certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
    Hast du in deiner php.ini für curl.cainfo ein CA Zertifikat hinterlegt, dass deine selbst signierten Zertifikate akzeptiert?



    Zitat Zitat von BugBuster Beitrag anzeigen
    Das heißt für mich dann Tschüss HTTPLUG, unbrauchbar.
    Maximal direkt auf Guzzle gehen mit festem cURL Client, dort soll es möglich sein alle Optionen zu setzen, nicht nur die SSL Dinge.
    Aber dann kann ich auch gleich selbst wie bisher direkt den Client spielen.
    Zitat Zitat von BugBuster Beitrag anzeigen
    Aja, gibt noch ein Symfony Bundle, httplug-bundle, wo man angeblich doch an die Einstellungen kommt.
    Aber ob ich diesen Aufwand betreibe, muss ich mal sehen.
    Selbst wenn du an die Konfiguration rankommst, bzw. den Request manuell mit cURL machst, solltest du auf keinen Fall die SSL Verfikation abschalten. Zumindest nicht für ein Produktivsystem.

  13. #13
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard Vorteil httplug-bundle

    Teste grad das httplug-bundle, einen netten Vorteil im Debug Modus hat es schon mal, die Web Debug Toolbar:



    Ich teste weiter. :-)
    Angehängte Grafiken Angehängte Grafiken
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  14. #14
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Selbst wenn du an die Konfiguration rankommst, bzw. den Request manuell mit cURL machst, solltest du auf keinen Fall die SSL Verfikation abschalten. Zumindest nicht für ein Produktivsystem.
    Das löse ich nun so, es gibt nun eine config.yml und eine config_dev.yml in meiner Erweiterung, die je nach kernel.environment Parameter die eine oder andere Konfiguration einliest.
    Und in der dev steht halt drin, die SSL Verfikation zu umgehen. Derzeitige Bedingung: es muss dafür die cURL Erweiterung vorhanden sein. Ob ich Guzzle dazu auch übereden kann, keine Ahnung.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •