les requêtes python obtiennent l'invite 500 du fichier d'accès - Erreur interne du serveur
淡淡烟草味
淡淡烟草味 2017-05-18 10:49:32
0
3
937
s = requests.Session()
r = s.post('http://x.x.x.x/cgi/login.cgi', data={'name':  'ADMIN', 'pwd': 'ADMIN'},verify=False)
r = s.get(url, cookies=s.cookies,stream=True)
print(r.text)

IP est l'IP interne. Les fichiers peuvent être téléchargés à l'aide de n'importe quel navigateur tel que IE ou Firefox. J'utilise simplement des requêtes pour accéder et signaler une erreur de 500. Je ne sais vraiment pas pourquoi, aidez-moi !
Voici le code :

.
import requests
import ssl
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
ssl._create_default_https_context = ssl._create_unverified_context
s = requests.Session()
requests.packages.urllib3.disable_warnings()
r=s.post('https://172.30.1.141/cgi/login.cgi', data={'name': 'ADMIN', 'pwd': 'ADMIN'},verify=False)

print(r.text)
url='https://172.30.1.141/cgi/url_redirect.cgi?url_name=ikvm&url_type=jwsk'
rr=s.get(url).content
print(rr)

Voici les informations envoyées par le navigateur :

GET /cgi/url_redirect.cgi?url_name=ikvm&url_type=jwsk HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
X-HttpWatch-RID: 23897-11061
Referer: http://172.30.1.141/cgi/url_redirect.cgi?url_name=man_ikvm
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: 172.30.1.78
Connection: Keep-Alive
Cookie: langSetFlag=0; language=English; SID=ntnfkcvpmqfhmfnt; mainpage=remote; subpage=man_ikvm

Voici les informations renvoyées par la page Web :

HTTP/1.1 200 OK
Content-Length: 2016
Content-Disposition: inline; filename=launch.jnlp
Content-Type: application/x-java-jnlp-file
Date: Wed, 10 May 2017 21:01:00 GMT
淡淡烟草味
淡淡烟草味

répondre à tous(3)
某草草

Il s'avère que c'est un problème d'en-tête, ajoutez simplement 'Referer' et tout ira bien

滿天的星座

Publiez l'intégralité du code pour analyse. Il semble maintenant que vous ayez besoin de connaître toutes les informations au moment où le navigateur télécharge le fichier avant de pouvoir le simuler avec python, ou vous pouvez trouver directement la raison de 500 côté serveur.

phpcn_u1582

Vous devez utiliser r.content pour télécharger le fichier. De plus, une fois la connexion réussie, le cookie est déjà dans s, il n'est donc pas nécessaire de transmettre des paramètres lors de son obtention

.
s = requests.Session()
s.post('http://x.x.x.x/cgi/login.cgi', data={'name':  'ADMIN', 'pwd': 'ADMIN'})
r = s.get(url)
with open('文件名', 'wb') as f:
    f.write(r.content)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!