recherche

Maison  >  Questions et réponses  >  le corps du texte

les requêtes python obtiennent l'invite 500 du fichier d'accès - Erreur interne du serveur

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
淡淡烟草味淡淡烟草味2747 Il y a quelques jours980

répondre à tous(3)je répondrai

  • 某草草

    某草草2017-05-18 10:51:32

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

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-18 10:51:32

    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.

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-18 10:51:32

    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)

    répondre
    0
  • Annulerrépondre