【问题标题】:Write Python NTLM XML response to local XML file将 Python NTLM XML 响应写入本地 XML 文件
【发布时间】:2016-05-17 20:20:23
【问题描述】:

我一直在寻找是否有一种简单的方法可以将 NTLM 响应写入本地 XML 文件。我该怎么做呢?

import requests
import ntlm3 as ntlm
from requests_ntlm import HttpNtlmAuth

SITE = "website.com/_api/..."
USERNAME = 'user'
PASSWORD = 'pass'

response = requests.get(SITE, auth=HttpNtlmAuth(USERNAME,PASSWORD))

print(response.status_code)
print(response.text)

【问题讨论】:

    标签: python xml ntlm


    【解决方案1】:

    假设 NTLM response.text 是格式良好的 XML,只需将文本值转储到文件:

    xmlfile = open('Output.xml', 'wb')
    xmlfile.write(response_text)
    xmlfile.close()
    

    要将输出漂亮地打印到文件中,请考虑lxml 模块:

    import lxml.etree as ET
    
    ...
    
    dom = ET.fromstring(response.text)
    tree_out = ET.tostring(dom, pretty_print=True)
    
    xmlfile = open('Output.xml', 'wb')
    xmlfile.write(tree_out)
    xmlfile.close()
    

    【讨论】:

    • 如果文件有点混乱,我应该使用 ElementTree 吗?这实际上并没有创建文件,我需要创建一个名为“Output.xml”的文件
    • 你的意思是pretty print? Minidom 和 lxml 模块可以这样做。
    • 另外,当我创建 XML 文件并运行代码时,我得到 xmlfile.write(response.text) io.UnsupportedOperation: not writable
    • 哎呀!请参阅使用写入二进制文件进行更新,wb 参数。
    • 谢谢!有什么方法可以做到这一点而无需手动创建文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多