J'essaie d'utiliser l'API Virustotal pour Python pour vérifier les URL. Le code fonctionne bien cependant, la sortie est une tout dans une ligne de manière difficile à lire. J'ai essayé de scinder les lignes mais cela ne se divise pas en lignes séparées. Comment puis-je résoudre
import requests
url = 'https://www.virustotal.com/vtapi/v2/url/report'
params = {'apikey': '', 'resource':''}
response = requests.get(url, params=params)
requests.split('\n')
print(response.json())
input()
3 Réponses :
réponse.text code> est la chaîne de réponse. Utilisez également json.loads () code> en fonction de la réponse URL. import requests
import json
url = 'https://www.virustotal.com/vtapi/v2/url/report'
params = {'apikey': '', 'resource':''}
response = requests.get(url, params=params)
print(json.dumps(response.text))
réponse.json () est identique à json.loads (réponse.text). @Jacky Simplement pprint (réponse.json) pour voir comment la réponse a l'air puis diviser si nécessaire
@ankeshpandey S'il est chargé comme JSON, il ne peut pas la diviser à coup sûr. Mais l'objet de réponse n'est pas une chaîne valide. Il devrait analyser le réponse.text code>
Je reçois une erreur disant "L'objet JSON doit être STR, octets ou byTeArray, pas liste" lors de l'utilisation de JSON.loads (réponse)
@Jacky C'est pourquoi je vous ai dit en fonction de votre demande de demande. Essayez json.dumps () code>
@ Ankesh Pandey Quand je mets simplement imprimer (Response.json), je reçois comme réponse 200 mais pas de sortie. Si la demande est réussie, comment puis-je obtenir les résultats
@ Kostas charritidis même si je remplacis avec des décharges, il ne fonctionne pas
@Jacky, j'essaie de reproduire, mais il semble que l'URL ne fonctionne pas.
Je suppose que vous avez besoin d'une clé API de Virustotal et ajoutez ensuite une URL pour "ressource"
@Jacky Yeap le plus probablement. Donc, vous obtenez des données ou non? Essayez d'analyser à JSON The Response.Text Code> Bien que SPLAST en fait une liste d'ELEMETNS.
est json.loads (réponse.text.split ('\ n')) ne fonctionne-t-il pas pour vous? Que voyez-vous quand vous faites pprint (réponse.json ())? réponse.text, réponse.Content, réponse.json () Si vous devriez tous vous donner la sortie pendant la réponse.Status_code vous donnera 200
Essayez ceci.
Merci pour votre aide! Mais quand j'ai recherché, vous devez avoir un assistant séparé pour cela. Il est facilement disponible dans p>
HTTPS: // Élevé. IO / 2018/02/22 / Construction-A-Simple-Virustotal-Client-In-Python / P>
Ne devriez-vous pas utiliser
réponse.split ('\ n') code>?Essayez sans scission. C'est un objet de réponse, pas une chaîne.
réponse ('\ n') il ne fonctionne pas
L'erreur que vous avez collée est très trompeuse. Est-ce le code exact que vous avez couru? Coller le
Traceback code> de la sortie que vous obtenezOui. Son disponible sur développeurs.virustotal.com/reference#Canning-urls