Python requests problem med åäö
2019-11-09 16:13:19 av rosb (uppdaterad 2019-11-09 16:17:55)
Hej!
Jag har ett problem där jag inte kan fråga API:et frågor när LocationSignature använder åäö.
Jag kör python requests för att göra POST-anropet. LocationSignature utan åäö fungerar.
Denna fråga fungerar i Konsolen men inte via python requests
Exempel:
{{code}}
<REQUEST>
<LOGIN authenticationkey="nyckel" />
<QUERY objecttype="TrainAnnouncement" schemaversion="1.3" orderby="AdvertisedTimeAtLocation">
<FILTER>
<AND>
<EQ name="ActivityType" value="Ankomst" />
<EQ name="LocationSignature" value="Vå" />
<OR>
<AND>
<GT name="AdvertisedTimeAtLocation" value="$dateadd(-1.0:00)" />
<EXISTS name="TimeAtLocation" value="true" />
</AND>
</OR>
</AND>
</FILTER>
<INCLUDE>AdvertisedTrainIdent</INCLUDE>
<INCLUDE>AdvertisedTimeAtLocation</INCLUDE>
<INCLUDE>TimeAtLocation</INCLUDE>
<INCLUDE>LocationSignature</INCLUDE>
</QUERY>
</REQUEST>
{{/code}}
python kod
{{code}}
data = '''
<REQUEST>
<LOGIN authenticationkey="nyckel" />
<QUERY objecttype="TrainAnnouncement" schemaversion="1.3" orderby="AdvertisedTimeAtLocation">
<FILTER>
<AND>
<EQ name="ActivityType" value="Ankomst" />
<EQ name="LocationSignature" value="Vå" />
<OR>
<AND>
<GT name="AdvertisedTimeAtLocation" value="$dateadd(-1.0:00)" />
<EXISTS name="TimeAtLocation" value="true" />
</AND>
</OR>
</AND>
</FILTER>
<INCLUDE>AdvertisedTrainIdent</INCLUDE>
<INCLUDE>AdvertisedTimeAtLocation</INCLUDE>
<INCLUDE>TimeAtLocation</INCLUDE>
<INCLUDE>LocationSignature</INCLUDE>
</QUERY>
</REQUEST>
'''
print(requests.post('https://api.trafikinfo.trafikverket.se/v1/data.json', data=data).json())
{{/code}}
Måste POST-anropet vara formaterat med någon speciell encoding? Isånnafall vilken?
Svara