Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat oplossingen voor een probleem waarbij Python-scripts kunnen worden gedetecteerd als webcrawlers bij het maken van Microsoft Graph-aanvragen.
Symptomen
Een Python-script waarmee een Microsoft Graph-aanvraag wordt gemaakt, kan soms door de gateway worden gedetecteerd als webcrawlers. Als Python-scripts gebruikmaken van poolbeheer, wordt het volgende foutbericht geretourneerd wanneer u de aanvraag blokkeert:
{'error': {'code': 'UnknownError', 'message': '\r\n403 Forbidden\r\n\r\n
403 Forbidden
\r\n
Microsoft-Azure-Application-Gateway/v2
\r\n\r\n\r\n', 'innerError': {'date': '{UTC Date/Time}', 'request-id': '{guid}', 'client-request-id': '{guid}'}}}
Oorzaak
Het probleem treedt op omdat sommige Python-scripts hun aanvragen mogelijk niet structuren op een manier die voldoet aan de verwachte patronen. Als gevolg hiervan identificeert de gateway per ongeluk de aanvragen die afkomstig zijn van een webcrawler.
Solution
Gebruik de Microsoft Graph SDK voor Python om dit probleem op te lossen. Als u deze niet wilt gebruiken, structureert u uw aanvragen op dezelfde manier als de SDK die verwerkt met behulp van het Python-object Session
voor het verzenden van aanvragen.
Hier volgt een voorbeeld van hoe u uw aanvragen handmatig kunt structuren:
from requests import Request, Session
def example_request(url):
http = Session()
req = Request('GET', url, headers=h)
prepped = req.prepare()
resp = http.send(prepped)
return resp.json()
Opmerking
- De
User-Agent
tekenreeks in de HTTP-aanvraagheader moet uniek zijn voor uw toepassing of script, waarbij deze wordt onderscheiden van algemeen verkeer. - Het opnemen van extra headers zoals
Accept: application/json
kan helpen bij het verduidelijken van de intentie van uw aanvraag. - Onjuist geïdentificeerd worden als crawlerverkeer kan leiden tot beperkingen of andere geautomatiseerde maatregelen van de back-endsystemen van Microsoft. Door uw client goed te identificeren, kunt u deze problemen voorkomen.
Als u een andere HTTP-client gebruikt, moet u ervoor zorgen dat vergelijkbare headers correct zijn ingesteld. Raadpleeg de documentatie van uw HTTP-client voor het aanpassen van aanvraagheaders.
Meer informatie
Zie de volgende artikelen voor meer richtlijnen over aanbevolen procedures bij het gebruik van Microsoft Graph:
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.