gpt4 book ai didi

python - 监控 GET 请求 Python 的状态

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:47 25 4
gpt4 key购买 nike

我有一个网址http://abc.def.com/something我访问它,它以 JSON 库的形式返回一条状态消息。从这个 JSON 库中,我需要检索“fileDownloadURL”字段的值,但第一次尝试时它始终是空字符串。因此,我需要访问不同的URL http://abc.def.com/something_else它返回一个新的 JSON 库,其字段与第一个库相同,但一段时间后“fileDownloadURL”的值不再为空。

这在我的任何浏览器中都运行良好,但是当我尝试在 Python 中执行此操作时,第二个 URL 返回的“fileDownloadURL”值始终为空。我认为这是因为我的浏览器向 URL 发送了一些关于我是谁的信息,但我不是用 Python 发送这些信息。

如何让服务器意识到是同一个人访问这两个 URL?

示例代码为

import urllib2, base64, json, time

base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request = urllib2.Request("http://abc.def.com/something")
request.add_header("Authorization", "Basic %s" % base64string)

url_response_json = urllib2.urlopen(request)

url_response_dict = json.load(url_response_json)

fileDownloadURL = url_response_dict["fileDownloadURL"]

status_url = urllib2.Request("http://abc.def.com/something_else")
status_url.add_header("Authorization", "Basic %s" % base64string)


while fileDownloadURL == '':
url_status_json = urllib2.urlopen(status_url)
url_status_dict = json.load(url_status_json)
fileDownloadURL = url_status_dict["fileDownloadURL"]
time.sleep(3)

此代码永远不会跳出 while 循环。

最佳答案

代码永远不会跳出 while 循环,因为您永远不会重置 fileDownloadURL 的值。在 while 循环中尝试一下:

while fileDownloadURL == '':
url_status_json = urllib2.urlopen(status_url)
url_status_dict = json.load(url_status_json)
fileDownloadURL = url_status_dict["fileDownloadURL"]
time.sleep(3)

关于python - 监控 GET 请求 Python 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com