Python 如何从GET请求中获取响应状态代码?
嗨,我对python编程非常陌生。这里我试图编写一个python脚本,它将使用get请求获取状态代码。我可以为单个URL做这件事,但如何在一个脚本中为多个URL做这件事。 下面是我编写的基本代码,它将从url获取响应代码Python 如何从GET请求中获取响应状态代码?,python,url,get,endpoint,Python,Url,Get,Endpoint,嗨,我对python编程非常陌生。这里我试图编写一个python脚本,它将使用get请求获取状态代码。我可以为单个URL做这件事,但如何在一个脚本中为多个URL做这件事。 下面是我编写的基本代码,它将从url获取响应代码 import requests import json import jsonpath #API URL url = "https://reqres.in/api/users?page=2" #Send Get Request response = requests.get
import requests
import json
import jsonpath
#API URL
url = "https://reqres.in/api/users?page=2"
#Send Get Request
response = requests.get(url)
if response:
print('Response OK')
else:
print('Response Failed')
# Display Response Content
print(response.content)
print(response.headers)
#Parse response to json format
json_response = json.loads(response.text)
print(json_response)
#Fetch value using Json Path
pages = jsonpath.jsonpath(json_response,'total_pages')
print(pages[0])
您可以使用response.status\u代码访问状态代码 您可以将代码放入这样的函数中
def treat_url(url):
response=requests.get(url)
如果回答:
打印('响应正常')
其他:
打印('响应失败')
#显示响应内容
打印(response.content)
打印(响应.标题)
#解析对json格式的响应
json_response=json.load(response.text)
打印(json_响应)
#使用Json路径获取值
pages=jsonpath.jsonpath(json_响应,'total_pages')
打印(第[0]页)
并有一个URL列表并迭代抛出:
url\u list=[“www.google.com”https://reqres.in/api/users?page=2"]
对于url_列表中的url:
处理url(url)
试试这段代码
import requests
with open("list_urls.txt") as f:
for url in f:
response = requests.get(url)
print ("The url is ",url,"and status code is",response.status_code)
我希望这能有所帮助。一些建议,问题本身不是很清楚,所以一个好的表达方式对这里的所有贡献者都是有用的:) 现在我能理解的是,你可以做一些修改:
response=requests.get(url)
你总是会得到一个response对象,我想你可能想在这里检查状态码,你可以通过response.status\u code
来完成,根据你得到的结果,你可以说你是否得到了成功的响应
关于循环,您可以将response JSON中的last page
检查为response\u JSON['last\u page']
,并在范围(2,last\u page+1)
上运行for循环,并在URI中附加页码以获取单个页面响应
您可以直接从response对象response.JSON()
请参阅
requests
doc谢谢angel它可以工作,但我的问题是如何一次循环多个url,比如说100 may beThanks它可以工作。假设一个案例。我将所有url保存在一个文件中,例如:url.list,我想用python脚本调用该文件(url.list)。可能吗?因为我有超过100个URL要检查。我知道如何在shell中完成,但不知道如何在python中完成。请帮助me@SameerSheik我已经根据您的要求更改了代码。list_urls.txt文件表示100+个URL文件。现在您可以获得每个url