Python请求使用Username + pasword + apiKey登录webepage

时间:2015-12-15 10:09:47

标签: python http-headers python-requests api-key

我花了几天时间尝试使用Python和Requests模块登录网页 这是代码:

import requests
from xml.etree import ElementTree
import json
#this is the data for the login part
payload = {"apiKey":"jg8fjG7Ggafo","username":"admin@aXXXXX.XXXXX.net","password":"XXXXXXXXX","timestamp":"1449666522626"}
reqHed2 ={"Accept":"application/json, text/javascript, */*; q=0.01",
     "Accept-Encoding":"gzip, deflate",
     "Accept-Language":"en-US,en;q=0.8",
     "Connection":"keep-alive",
     "Content-Type":"application/json",
     "Cookie":"webTransactionData=%5B%7B%22offset%22%3A51%7D%2C%7B%22username%22%3A248%7D%2C%7B%22urlPath%22%3A404%7D%2C%7B%22policyReason%22%3A102%7D%2C%7B%22urlCategory%22%3A150%7D%2C%7B%22riskScore%22%3A65%7D%2C%7B%22threatCategory%22%3A150%7D%2C%7B%22bytesTotal%22%3A100%7D%2C%7B%22clientIp%22%3A100%7D%2C%7B%22serverIp%22%3A100%7D%2C%7B%22isSsl%22%3A100%7D%2C%7B%22clientTimeMs%22%3A148%7D%5D; _gat=1; username=XXXXX@aXXXXX.XXXXX.net; locale=en-US; default-dashboard=1; JSESSIONID=2D3A587958868565FDA3B795E1E94DE2; _ga=GA1.2.1233310469.1444980581",
     "Host":"admin.XXXXX.net",
    "Referer":"https://admin.XXXXX.net/",
     "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36",
     "X-Requested-With":"XMLHttpRequest"
     }



     with requests.Session() as Req:
     url ="https://admin.XXXXX.net/zsapi/v1/authenticatedSession"

     login = Req.post(url,data=json.dumps(payload),headers=reqHed2)

     print("this is the Request Code of the login ")
     print(login.status_code)
     print(login.headers)
     print(login.text)

这是输出:

400
{'X-FRAME-OPTIONS': 'SAMEORIGIN', 'Set-Cookie': 'JSESSIONID=0C2942D7XXXXXXXXXE1A494EB4; Path=/; Secure; HttpOnly', 'Server': 'XXXXX', 'Transfer-Encoding': 'chunked', 'Date': 'Tue, 15 Dec 2015 09:50:20 GMT', 'Content-  Type': 'application/json', 'Connection': 'close'}
{"code":"INVALID_API_KEY","message":"INVALID_API_KEY"}

我使用的apiKey我从浏览器中获取它并且它无法运行questin是:如何使用Python从服务器获取此apiKey?

1 个答案:

答案 0 :(得分:0)

经过长时间的搜索,我发现Apikey是通过该Java脚本的Ajax调用生成的,现在这给出了一个新问题,即如何从Python中获取返回的一个或多个值