如何使用python从post获取响应

2024-09-24 22:20:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在检查电流@hotmail.com地址被占用。在

然而,我并没有得到使用chrome开发工具时得到的响应。在

#!/usr/bin/python

import urllib
import urllib2
import requests

cookies = {
    'MC0': '1449950274804',
    'mkt': 'en-US',
    'MSFPC': 'ID=a9b016cd39838248bbf321ea5ad1ecae&CS=1&LV=201512&V=1',
    'wlv': 'A|ekIL-d:s*cAHzDg.2+1+0+3',
    'HIC': '7c5d20284ecdbbaa||0|||',
    'wlxS': 'wpc=1&WebIM=1',
    'RVC': 'm=1&v=17.5.9510.1001&t=12/12/2015 20:37:45',
    'amcanary': '0',
    'CkTst': 'MX1449957709484',
    'LDH': '9',
    'wla42': 'KjEsN0M1RDIwMjg0RUNEQkJBQSwsLDAsLTEsLTE=',
    'LN': 'u9GMx1450021043143',
}

headers = {
        'Origin': 'https://signup.live.com',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'en-US,en;q=0.8,ja;q=0.6',

    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36',
    'canary': 'aeIntzIq6OCS9qOE2KKP2G6Q7yCCPLAQVPIw0oy2Vksln3bbwVR9I8DcpfzC9RiCnNiJBw4YxtWsqJfnx0PeR9ovjRG+bF1jKkyPVWUTyuDTO5UkwRNNJFTIdeaClMgHtATSy+gI99ojsAKwuRFBMNbOgCwZIMCRCmky/voftX/63gjTqC9V5Ry/bECc2P66ouDZNC7TA/KN6tfsmszelEoSrmvU7LAKDoZnkhRQjpn6WYGxUzr5S+UYXExa32AY:1:3c',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Accept': 'application/json',
    'Referer': 'https://signup.live.com/signup?wa=wsignin1.0&rpsnv=12&ct=1450038320&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https',
    'X-Requested-With': 'XMLHttpRequest',
    'Connection': 'keep-alive',
}

data = {"signInName":"testfoobar1234@outlook.com","uaid":"f1d115020fc94af6ba17e722277cdcb8","performDisambigCheck":"true","includeSuggestions":"true","uiflvr":"1001","scid":"100118","hpgid":"200407"}

asdf = requests.post('https://signup.live.com/API/CheckAvailableSigninNames?wa=wsignin1.0&rpsnv=12&ct=1450038320&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https', headers=headers, cookies=cookies, data=data)
print(asdf.json())

这是chrome在检查时给我的testfoobar1234@hotmail.com网站:

Chrome Response

这就是我的剧本给我的testfoobar1234@hotmail.com网站:

enter image description here


Tags: httpsimportcomlivedatachromerequestsen
1条回答
网友
1楼 · 发布于 2024-09-24 22:20:23

如果要通过本地计算机上的python脚本连接到登录.live.com有正确的凭证,但从你的Chrome cookies它将不起作用。在

你想做什么:阅读电子邮件,发送电子邮件,或者只是从通讯录中获取联系人。脚本中的算法将不同。例如,通过outlook.com系统,触点位于人民网我记得是API。在

如果您想像Chrome一样模拟登录,您需要:

  1. 从中获取并收集所有饼干outlook.com主页面,不要忘记所有重定向:)-通过你的python脚本
  2. 使用收集的Cookie和凭据发送请求,发送到登录.live.com(outlook将重定向到它)。在

但是,根据我的经验,上一个Outlook版本(常规和Outlook预览系统)在90%的情况下会检测到错误的登录尝试,并发送给您带有确认登录问题的页面(代码或电子邮件)。这样你就会得到不稳定的解。你真的想这么做吗?在

如果您只想正确解析JSON,则需要:

import json

data = json.loads(asdf.text)

print(data)

如果你想知道浏览器产生了多少操作,只需安装Firebug并禁用清理“网络”面板,然后查看在登录到您的帐户之前处理了多少请求。在

但是,为了查看所有流量,建议使用Firefox+Firebug+Tamper数据。在

而且,我认为使用exists libs(比如Selenium)进行浏览器仿真会更快。在

相关问题 更多 >