wpforge
Goto Top

Umsetzung Powershell in PHP

Hallo,
Ich habe ein kleines Powershellscript, welches geokoordinaten von OpenStreetMap zieht und diese dann per Post an eine andere Webseite schickt.
$ort = Read-Host 'Bitte exakte Adresse eingeben (am besten mit Straße und Hausnummer) '   
$result = (irm "https://nominatim.openstreetmap.org/search?q=$ort&format=json") | select -First 1   
if ($result){ 
    write-host "Ergebnis für $($result.display_name)" -F Green   
    try{ 
        $wl = irm 'https://www.wohnlagenkarte.de/wohnlagen-poly' -Body (@{latitude=$result.lat;longitude=$result.lon} | ConvertTo-Json -Depth 100) -Method Post -ContentType 'application/json' -ea Stop   
        write-host "Die Gegend ist eingestuft als '$($wl.wohnlage)'" -F Yellow   
    }catch{ 
        write-host 'Wohnlage nicht gefunden, oder keine Bewertung für Standort vorhanden.' -F Red   
    } 
}else{ 
    write-host "Position nicht gefunden." -F Red   
}

Nun versuche ich das in ein PHP Script zu wandeln.
Der Abruf bei Openstreetmap geht problemlos und ich bekomme auch Koordinaten zurück.

$wl = irm 'https://www.wohnlagenkarte.de/wohnlagen-poly' -Body (@{latitude=$result.lat;longitude=$result.lon} | ConvertTo-Json -Depth 100) -Method Post -ContentType 'application/json' -ea Stop   

Habe ich wie folgt umgesetzt:
$data = array("latitude" => $arr['lat'], "longitude" => $arr['lon']);                                                                      
        $data_string = json_encode($data);                                                                                   
        echo $data_string;                                                                                                            
        $ch = curl_init('https://www.wohnlagenkarte.de/wohnlagen-poly');                                                                        
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                       
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
            'Content-Type: application/json',                                                                                  
            'Content-Length: ' . strlen($data_string))                                                                         
        );                                                                                                                   
                                                                                                                     
        $result = curl_exec($ch);

Hier kommen aber keine Ergebnisse zurück, obwohl Der gleiche Suchstring im PS Script Ergebnisse liefert.
Fehler wird auch keiner geworfen.

Danke schon mal für eure Antworten.

Content-ID: 392970

Url: https://administrator.de/forum/umsetzung-powershell-in-php-392970.html

Ausgedruckt am: 22.12.2024 um 16:12 Uhr

godlie
Lösung godlie 16.11.2018 aktualisiert um 12:05:16 Uhr
Goto Top
Hallo,

was steht denn in der $result drin?

Error Handling von CURL:
curl_exec($ch);
if (curl_error($ch)) {
    $error_msg = curl_error($ch);
}

Hast du das error_reporting richtig eingestellt?

error_reporting(E_ALL);
ini_set('display_errors','On');  

grüße
WPFORGE
WPFORGE 16.11.2018 um 12:49:02 Uhr
Goto Top
Das CURL konnte offensichtlich mit dem SSL Zertifikat der Seite nicht.
IrunGoldstein
IrunGoldstein 16.11.2018 um 13:06:17 Uhr
Goto Top
Hi,

ohne dir zunahe treten zu wollen aber weiß die Seite von Ihrem Glück das du ihre Daten weiter verarbeiten willst?

laut AGB:
14 - Urheberrecht

(1) Sämtliche auf den Seiten und Vertriebsplattformen des iib_Instituts veröffentlichten Inhalte, Informationen, Bilder, Produkte, Daten sind urheberrechtlich geschützt.
(2) Jede private und gewerbliche Vervielfältigung, Änderung, Veröffentlichung, eine Bearbeitung oder Umgestaltung, Verbreitung oder Speicherung von Informationen, Daten oder Produkten, insbesondere von Texten, Textteilen oder Bildmaterial, bedarf der vorherigen Zustimmung des iib_Instituts. Dies gilt auch für die Aufnahme in elektronische Datenbanken und Vervielfältigung auf z.B. CD-ROM, DVD etc. Es ist ausdrücklich untersagt, einen digitalen Datenbestand auf der Grundlage der überlassenen Daten mit Absicht der kommerziellen Nutzung oder eine sonstige Verwertung der Daten (z.B. das Abspeichern zur Verwendung in einem lokalen Retrieval System und die Herstellung systematischer Sammlungen) aufzubauen, es sei denn, es ist ausdrücklich vertraglich gestattet oder gesetzlich vorgeschrieben. Davon unberührt, gelten entsprechende Nutzungsbedingungen und/oder AGB der Shopping-Partner und der Lieferanten des iib_Instituts.
(3) Soweit nicht anders vereinbart, übernimmt das iib_Institut keine Haftung dafür, dass die vom iib_Institut gelieferten Daten und Waren nicht gewerbliche Schutzrechte Dritter verletzen, es sei denn, ihr ist etwas anderes bekannt oder aufgrund grober Fahrlässigkeit nicht bekannt. Der Nutzer ist verpflichtet, das iib_Institut unverzüglich über ihm gegenüber gerügte Verletzungen zu unterrichten.
(4) Im Übrigen gelten die rechtlichen Grenzen, die sich aus dem Urheberrecht und den sonstigen anwendbaren gesetzlichen Vorschriften ergeben.
(5) Darüber hinaus ist es dem Kunden untersagt, die von das iib_Institut bereitgestellte Datensätze zu vervielfältigen, zu übersetzen, zu bearbeiten oder in eine andere Codeform zu bringen.

die wollen nähmlich vorher mit dir drüber reden ;) aber wenn der admin bei denen nicht ganz auf den Kopf gefallen ist werden die dir bei genug Traffic den du erzeugst den Zugang kappen...

Grüße
137846
137846 16.11.2018 aktualisiert um 14:25:43 Uhr
Goto Top
Hatte dir ja schon im letzten Thread gesagt, aktiviere das Logging und lass dir die Fehlerausgabe anzeigen...
Zitat von @IrunGoldstein:

Hi,

ohne dir zunahe treten zu wollen aber weiß die Seite von Ihrem Glück das du ihre Daten weiter verarbeiten willst?
Hätte er das wäre er bestimmt nicht hier face-smile.

Ich hab die Jungs aber schon mal vorsorglich auf den Thread aufmerksam gemacht. Die drehen ihm dann den Hahn rechtzeitig zu, zumal er ja Referer, Cookies etc. nicht mitsendet fallen diese Abfragen sowieso gleich auf.

Ich habe ein kleines Powershellscript
Ja, und von wo solltest du auch bitte mit dazu schreiben!

A.
WPFORGE
WPFORGE 16.11.2018 um 15:32:57 Uhr
Goto Top
Zitat von @137846:

Ich habe ein kleines Powershellscript
Ja, und von wo solltest du auch bitte mit dazu schreiben!

A.

Du erinnerst dich? im anderen Thread hatte ich quasi die gleiche Frage gestellt.
Da bin ich angemacht (äh höflich darauf aufmerksam) gemacht worden, warum ich die Frage DA stelle.

Und nachdem ihr euch ofensichtlich alle einig seid, dass nicht erlaubt ist, was ich da mache bist du also scharf darauf, dass ich nochmal schreibe, wer mir das zur Verfügung stellt? echt?
137846
137846 16.11.2018 aktualisiert um 16:18:54 Uhr
Goto Top
Zitat von @WPFORGE:

Zitat von @137846:

Ich habe ein kleines Powershellscript
Ja, und von wo solltest du auch bitte mit dazu schreiben!

A.

Du erinnerst dich? im anderen Thread hatte ich quasi die gleiche Frage gestellt.
Joa, und da hatte ich sie dir beantwortet.

Da bin ich angemacht (äh höflich darauf aufmerksam) gemacht worden, warum ich die Frage DA stelle.
Sie wurde ja eigentlich beantwortet.
Und nachdem ihr euch ofensichtlich alle einig seid, dass nicht erlaubt ist, was ich da mache bist du also scharf darauf, dass ich nochmal schreibe, wer mir das zur Verfügung stellt? echt?
Ich hab kein Problem damit, die Infos kann sich ja jedermann öffentlich selbst im Browser besorgen, ist also nichts geheimes.
Nur wenn jemand kopierte Skripte ohne Quellenangabe veröffentlicht, das ist eben nicht OK.Steht ja so auch in den meisten Forenrichtlinien .That's it. Und wenn den Betreibern das nicht passt können sie es ja problemlos löschen lassen.