如何从Python请求中读取响应?

是:

我有两个Python脚本。一种使用Urllib2库,另一种使用请求库

我发现请求更易于实现,但是找不到urlib2的等效read()函数。例如:

...
response = url.urlopen(req)
print response.geturl()
print response.getcode()
data = response.read()
print data

建立完发布网址后,请data = response.read()提供内容-我正尝试连接到vcloud Director api实例,并且响应显示了我有权访问的端点。但是,如果我按以下方式使用请求库....

....

def post_call(username, org, password, key, secret):

    endpoint = '<URL ENDPOINT>'
    post_url = endpoint + 'sessions'
    get_url = endpoint + 'org'
    headers = {'Accept':'application/*+xml;version=5.1', \
               'Authorization':'Basic  '+ base64.b64encode(username + "@" + org + ":" + password), \
               'x-id-sec':base64.b64encode(key + ":" + secret)}
    print headers
    post_call = requests.post(post_url, data=None, headers = headers)
    print post_call, "POST call"
    print post_call.text, "TEXT"
    print post_call.content, "CONTENT"
    post_call.status_code, "STATUS CODE"

....

.... the print post_call.text和不print post_call.content返回任何内容,即使请求后调用中的状态代码等于200。

为什么我对请求的响应不返回任何文本或内容?

艾希德(Aychedee):

请求不具有与Urlib2等效的请求read()

>>> import requests
>>> response = requests.get("http://www.google.com")
>>> print response.content
'<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"><head>....'
>>> print response.content == response.text
True

您发出的POST请求似乎不返回任何内容。POST请求通常是这种情况。也许它设置了一个cookie?状态代码告诉您POST毕竟成功。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:如何从请求响应中读取Excel文件?

如何从 Angular 9 中的 GET 请求读取 JSON 对象响应?

Python发布请求并在响应中读取Cookie

如何根据请求模拟数据.python中的响应类型

如何在python请求中获取响应头

如何使用Python请求过滤json响应中的元标记?

Python Facebook SDK:如何从请求中获取响应?

如何使用Python从请求的响应中过滤所需的数据

如何在 python 中得到这个请求的响应?

如何读取Azure函数HTTP请求的参数并使用Blob存储中的文件进行响应?

如何读取在Base64中编码的值的JSON请求/响应

如何读取响应 HTTP 请求而收到的 angular4 中的 protobuf 对象

如何使用 Python 中的响应来模拟(相同的请求但不同的答案)请求?

Django如何读取http请求并发送http响应

从XHR请求/响应中读取/写入cookie(PhoneGap / Cordova)

限制对HTTP GET请求的响应中读取的数据量

无法读取Java中HTTPS GET请求的任何响应

如何使用请求 (Python) 发布以响应表单

如何过滤http请求中的响应。节点

如何从ajax响应中获取请求的URL?

如何在 Ruby 中存根请求/响应

如何从 treq 请求中获取响应文本?

如何从角度http的响应中读取状态?

如何在Unity中读取JSON响应?

如何从 curl 响应中读取特定值

如何从Java中的URL读取XML响应?

如何从RestTemplate中读取响应标头?

如何从响应中读取特定值

请求响应python中缺少html