[php]voertaal van googlemaps kml

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Freemann
  • Registratie: Januari 2002
  • Niet online

Freemann

CO2 Warmtepomp + VentilatieWTW

Topicstarter
Ben bezig met een script om de kml van gmaps zijn geo dienst uit te lezen.

Nu loop ik echter tegen het vreemde probleem aan dat als ik via de browser een adres in duitsland opvraag ik als land "duitsland" terug krijg en als ik dezelfde url via cURL opvraag ik "germany" terugkrijg.

Berggeiststr.1,50321 Bruhl,Duitsland via de browser levert op:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8" ?>
<kml xmlns="http://earth.google.com/kml/2.0"><Response>
  <name>Berggeiststr. 31-41, 50321 Bruhl, Duitsland</name>
  <Status>
    <code>200</code>
    <request>geocode</request>
  </Status>
  <Placemark id="p1">
    <address>Berggeiststraße 31, 50321 Brühl, Duitsland</address>
    <AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>DE</CountryNameCode><CountryName>Duitsland</CountryName><AdministrativeArea><AdministrativeAreaName>Noord-Rijnland-Westfalen</AdministrativeAreaName><SubAdministrativeArea><SubAdministrativeAreaName>Rhein-Erft-Kreis</SubAdministrativeAreaName><Locality><LocalityName>Brühl</LocalityName><DependentLocality><DependentLocalityName>Badorf</DependentLocalityName><Thoroughfare><ThoroughfareName>Berggeiststraße 31</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>50321</PostalCodeNumber></PostalCode></DependentLocality></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails>
    <ExtendedData>
      <LatLonBox north="50.8012576" south="50.7949624" east="6.8839476" west="6.8776524" />

    </ExtendedData>
    <Point><coordinates>6.8808000,50.7981100,0</coordinates></Point>
  </Placemark>
</Response></kml>


Via cURL komt er echter het volgende uit:
CountryName: Germany

In eerst instantie kon ik het niet verklaren. Na wat experimenteren met verschillende invoer kwam ik erachter dat de opbouw van de url in de browser er niet voor (kan) zorgen dat er als land Germany uitkomt.
Na wat verder denken en zoeken kwam ik op de UserAgent uit. Heb de useragent van mijn eigen browser gebruikt en deze als setopt() meegegeven aan cURL maar dit blijkt ook niet uit te maken.

Is er hier nog iemand die dit kan verklaren of zelf op kan lossen?

De door mij gebruikte useragent is overigens:
Mozilla/5.0 (Windows; U; Windows NT 6.1; nl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3

https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl


Acties:
  • 0 Henk 'm!

  • user109731
  • Registratie: Maart 2004
  • Niet online
Vergelijk de HTTP-headers eens? Ik vermoed namelijk dat het komt door de Accept-Language header ofzo :)

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 22:05

DizzyWeb

Ondertiteld

Misschien een cookie?

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Je kan 2 kanten op :
- Of je brengt je browser gelijk aan Curl.
- Of je brengt Curl gelijk aan je browser.

Momenteel heb je gewoon 2 ongelijke situaties.

Hang er eens een wireshark oid tussen en kijk eens precies wat je browser/curl naar Google stuurt ( heb je nog een kans dat ze via geoip oid iets doen, maar die kans is imho redelijk verwaarloosbaar met een officiele API aanroep )

Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Volgens de docs kan je de language parameter opgeven. Ik zie alleen dat die niet werkt, maar de hl parameter (die wordt wel vaker door Google gebruikt) doet wel z'n ding.

On track


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

JanDM schreef op dinsdag 22 juni 2010 @ 22:11:
Vergelijk de HTTP-headers eens? Ik vermoed namelijk dat het komt door de Accept-Language header ofzo :)
Weet ik wel zeker. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Verschilt een beetje per service, Google bepaald het land in veel gevallen namelijk op IP basis en ik vermoed dat de server van de TS niet in NL staat ;)

Dat is in ieder geval voor de search zo, die dumpt me namelijk altijd bij de Nederlandse Google terwijl ik vrij zeker ben dat ik alles ingesteld heb staan op Engels ;)

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Freemann
  • Registratie: Januari 2002
  • Niet online

Freemann

CO2 Warmtepomp + VentilatieWTW

Topicstarter
JanDM schreef op dinsdag 22 juni 2010 @ 22:11:
Vergelijk de HTTP-headers eens? Ik vermoed namelijk dat het komt door de Accept-Language header ofzo :)
Heb op advies WireHack geinstalleerd en dit bekeken maar kon daar zo 1,2,3 even niet mee.
De server staat overigens gewoon @thuis@adsl lijntje met vast IP.

Na wat klooien (bleek dat de header als nog niet goed zat met cURL) krijg ik nu het volgende
via Firebug te zien als ik de kml ophaal via de browser:
Antwoordheadersbron bekijken
Content-Type text/xml; charset=UTF-8
Vary Accept-Language
Content-Encoding gzip
Date Tue, 22 Jun 2010 20:38:48 GMT
Server mafe
Cache-Control private, x-gzip-ok=""
Content-Length 606
X-XSS-Protection 1; mode=block
X-Antivirus avast! 4
X-Antivirus-Status Clean

Verzoekheadersbron bekijken
Host maps.google.nl
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; nl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language nl,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Cookie PREF=ID=1a6bac86748bc4e3:U=29bbb139f57b600d:FF=4:LD=nl:NR=10:TM=1253391281:LM=1275462081:DV=AA:IG=3:S=3iOM9l5RXRzNbvMi; NID=36=eVGS8ko0UXK6uINJXq0vAYcKc3jRcxpbDjQUEIt44muiLRkOup3mjonkk5Lu1R02NjB7G_cQLzIiy00tLlpFq8kUFx-XJ5PH1f4spYay13O26viXO725b-hEl5-_hbt2; MPRF=H4sIAAAAAAAAAKtYNO_Utu8qAM131McHAAAA
Cache-Control max-age=0
echter krijg ik nu een foutmelding op regel 7:
PHP:
1
2
3
4
5
6
7
        $useragent="Mozilla/5.0 (Windows; U; Windows NT 6.1; nl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3";
        $ch = curl_init($request_url);
        // set user agent 
        curl_setopt($ch, CURLOPT_USERAGENT, $useragent); 
        // set the rest of your cURL options here 
        $data = curl_exec($ch);
        $xml = simplexml_load_string($data);
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in ...\.....\...\...\GMaps.php on line 7

Warning: simplexml_load_string() [function.simplexml-load-string]: 1 in ...\.....\...\...\GMaps.php on line 7

Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in ...\.....\...\...\GMaps.php on line 7

[ Voor 3% gewijzigd door Freemann op 23-06-2010 08:08 ]

https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Freemann schreef op woensdag 23 juni 2010 @ 07:27:


echter krijg ik nu een foutmelding op regel 7:
Kom op; Debuggen: Hoe doe ik dat?. Lees gewoon de foutmelding eens en dump $data dan eens met var_dump ofzo...

[ Voor 9% gewijzigd door RobIII op 23-06-2010 11:39 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1