| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

28-05-2010, 17:17
|
|
iBumsti
Registrierter Benutzer
|
|
Registriert seit: Jan 2007
Beiträge: 59
|
|
HTTP Schnittstelle
Hallo.
Ich kenn mich mit den Möglichenkeiten von Schnittstellen leider nicht gut aus.
Ich möchte aber eine Schnittstelle zur Verfügung stellen, damit Partner mir Daten in meine Datenbank eintragen könne.
Ich dachte hierbei einfach an eine "http-Schnittstelle"
Beispiel
http://example.com/schnittstelle.php...sd&action=uh22 usw.
Funktioniert soweit auch gut.
Aber es könnten ja auch Fehler auftretten.
Ist das eine gute Lösung oder könnt ihr mir was besseres empfehlen.
Wichtig zu wissen ist, dass auf der anderen Seite, welcher den Link anspricht kein Mensch sitzt, der das auslöst, sonder ein Server in einem Zeitinterval Daten übermitteln soll.
Wenn man das so Lösen kann, wie kann man dem Programm dann auf der anderen Seite mitteilen "Alles OK und gespeichert" oder "Fehler"?
Was für Schnittstellen gibt es außer dieser noch?
Liebe Grüße,...
Geändert von iBumsti (28-05-2010 um 22:30 Uhr)
|

28-05-2010, 17:33
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
bitte bezüglich Beispiel-URLs die Forenregeln beachten (siehe Signatur)!
Zitat:
Zitat von iBumsti
Wichtig zu wissen ist, dass auf der anderen Seite, welcher den Link anspricht kein Mensch sitzt.
|
Nicht ganz einfach aber machbar, z. B. mit Rechenaufgaben, die innerhalb kürzester Zeit gelöst werden müssen. Das kostet dich aber einen zusätzlichen Round-Trip.
Zitat:
Zitat von iBumsti
wie kann man dem Programm dann auf der anderen Seite mitteilen "Alles OK und gespeichert" oder "Fehler"?
|
Mit den entsprechenden HTTP-Statūs, z. B. 201, 202 und 410, je nachdem.
Google mal nach REST (mein Favorit) oder SOAP.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (28-05-2010 um 17:35 Uhr)
|

29-05-2010, 00:47
|
|
iBumsti
Registrierter Benutzer
|
|
Registriert seit: Jan 2007
Beiträge: 59
|
|
Ich habe schon so ein "Script" geschrieben, welches man nun über eine Adresse im Browser aufrufen kann.
Theoretisch müsste dieses also auch über einen Server funktionieren.
Jetzt muss die gegenseit an die Reihe.
Ich schreib ganz einfach ein Script, welches in einem Interval die Seite mittels cronjob aufruft, und den Link mit korrekten Daten befüllt.
Jetzt frag ich mich aber, wie ich kontrollieren kann, ob alles gut gegangen ist.
Wie kann ich den HTTP Status Abfragen oder erkennen?
|

29-05-2010, 01:06
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Wenn du CURL benutzt mit curl_getinfo(), wenn du Sockets benutzt siehst du es sowieso. Wenn du es nur mit dem fopen-Wrapper machen wolltest, lass das bleiben und nimm CURL.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

29-05-2010, 02:40
|
|
iBumsti
Registrierter Benutzer
|
|
Registriert seit: Jan 2007
Beiträge: 59
|
|
Danke. Ich werde mich morgen mal an google setzen und ein bissi forschen wie das dann aussehn kann.
|

29-05-2010, 09:35
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
Wenn du es nur mit dem fopen-Wrapper machen wolltest, lass das bleiben und nimm CURL.
|
Warum?
Das Handbuch sagt:
Zitat:
|
The stream allows access to the body of the resource; the headers are stored in the $http_response_header variable. Since PHP 4.3.0, the headers are available using stream_get_meta_data().
|
Und ich kann das Verhalten bestätigen.
Es gibt auch mit dem http_url_wrapper kein Problem an den Status zu kommen.
Ich wüsste jetzt nicht was der http_wrapper schlechter als cURL machen würde.
Und gerade für REST ist es sicherlich die einfacher zu bedienende Schnittstelle.
|

29-05-2010, 10:57
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Genau aus diesem Grund: Es sieht erstmal so einfach aus und dann stellt man irgendwann fest, dass man z. B. POST & PUT braucht, was für REST ja Mindestanforderungen sind und dann merkt man, dass der Wrapper das gar nicht kann und schreibt alles wieder um.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

29-05-2010, 14:38
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
dann stellt man irgendwann fest, dass man z. B. POST & PUT braucht, was für REST ja Mindestanforderungen sind und dann merkt man, dass der Wrapper das gar nicht kann
|
Da bin ich aber vom Gegenteil überzeugt!
Zitat:
method string
GET, POST, or any other HTTP method supported by the remote server.
Defaults to GET.
|
Aus: PHP: HTTP context options - Manual
Geändert von combie (29-05-2010 um 17:36 Uhr)
|

29-05-2010, 23:56
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von combie
Da bin ich aber vom Gegenteil überzeugt!
|
Da lasse ich mich dann doch gerne belehren, ich hatte mich vermutlich nur auf diesen Satz gestützt:
Zitat:
|
Zitat von http://de2.php.net/manual/en/wrappers.http.php
Allows read-only access to files/resources via HTTP 1.0, using the HTTP GET method.
|
Vielleicht hätte dort mal erwähnt werden sollen, dass es offenbar doch geht. Man lernt nie aus, daher:
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|